带有数据框列的ggplot

ggplot with data frame columns

我完全迷失了使用 ggplot。我尝试过各种解决方案,但 none 都成功了。使用下面的数字,我想创建一个折线图,其中三条线分别代表 df$c、df$d 和 df$e,x 轴代表 df$a,y 轴代表累积概率,其中95=100%.

          a     b                    c                    d             e
1         0    18          0.047368421          0.036842105   0.005263158
2         1    20          0.047368421          0.036842105   0.010526316
13        2    26          0.052631579          0.031578947   0.026315789
20        3    35          0.084210526          0.036842105   0.031578947
22        4    41          0.068421053          0.052631579   0.047368421
24        5    88          0.131578947          0.068421053   0.131578947
26        7    90          0.131578947          0.068421053   0.136842105
27        8    93          0.126315789          0.068421053   0.147368421
28        9    96          0.126315789          0.073684211   0.152631579
3        10   115          0.105263158          0.078947368   0.210526316
4        11   116          0.105263158          0.084210526   0.210526316
5        12   120          0.094736842          0.084210526   0.226315789
6        13   128          0.105263158          0.073684211   0.247368421
7        14   129          0.100000000          0.073684211   0.252631579
8        15   154          0.031578947          0.042105263   0.368421053
9        16   155          0.031578947          0.036842105   0.373684211
10       17   158          0.036842105          0.036842105   0.378947368
11       18   161          0.036842105          0.031578947   0.389473684
12       19   163          0.026315789          0.031578947   0.400000000
14       20   169          0.026315789          0.021052632   0.421052632
15       21   171          0.015789474          0.021052632   0.431578947
16       22   174          0.010526316          0.021052632   0.442105263
17       24   176          0.010526316          0.021052632   0.447368421
18       25   186          0.005263158          0.005263158   0.484210526
19       26   187          0.005263158          0.000000000   0.489473684
21       35   188          0.005263158          0.005263158   0.489473684
23       40   189          0.005263158          0.000000000   0.494736842
25       60   190          0.000000000          0.000000000   0.500000000

我在使用 R 基础编码方面取得了一些成功

plot(df$a, df$c, type="l",col="red")
lines(df$a, df$d, col="green")
lines(df$a, df$e, col="blue")

您首先需要融合数据,以便有一列指定数据来自哪些变​​量(称为 variable),另一列列出实际值(称为 value).研究下面的示例,以充分了解您想要保持不变的原始 data.frame 中的变量会发生什么情况。

library(reshape2)
xymelt <- melt(xy, id.vars = "a")

library(ggplot2)
ggplot(xymelt, aes(x = a, y = value, color = variable)) +
  theme_bw() +
  geom_line()

ggplot(xymelt, aes(x = a, y = value)) +
  theme_bw() +
  geom_line() +
  facet_wrap(~ variable)

此代码还从名为 "d" 的数据中绘制列。您可以在熔化之前、熔化之后、绘图之前...或绘图之前将其移除。