2017-09-11 43 views
0

我有一个数据帧,看起来像这样:如何重塑这些数据来绘制ggplot2的多行?

lethal.y   lethal.x   resist.y   resist.x   mock.y   mock.x  
Min. :0.0000 Min. :0.0000 Min. :0.0000 Min. :0.0000 Min. :0.0000 Min. :0.0000 
1st Qu.:0.3724 1st Qu.:0.4349 1st Qu.:0.6580 1st Qu.:0.3102 1st Qu.:0.5065 1st Qu.:0.5143 
Median :0.6786 Median :0.8688 Median :0.9889 Median :0.6034 Median :0.9105 Median :0.9305 
Mean :0.5943 Mean :0.6961 Mean :0.8086 Mean :0.5645 Mean :0.7337 Mean :0.7445 
3rd Qu.:0.8229 3rd Qu.:0.9791 3rd Qu.:1.0000 3rd Qu.:0.8236 3rd Qu.:0.9863 3rd Qu.:0.9970 
Max. :1.0000 Max. :1.0000 Max. :1.0000 Max. :1.0000 Max. :1.0000 Max. :1.0000 

每个项目都有100行,而* .X和* .Y表示X,Y COORDS我想绘制每个这三个条件。

我想用ggplot2在不同颜色的线条上绘制这三个图。我相信我需要融化()数据帧到类似:

variable  x  y 
lethal  .05  .01 
lethal  .03  .02 
... 
resist 
... 
mock 

我只是不完全知道如何在这里重塑数据。任何人都可以将我指向正确的方向吗?谢谢!

按照要求,dput(头(DF))

structure(list(lethal.y = c(1, 0.96880698743694, 0.943637604878407, 
0.927797183915007, 0.913304798925335, 0.898733226540142), lethal.x = 
c(0, 
0.00188975165738148, 0.017044638907188, 0.0473993105875835, 
0.0839965839587461, 
0.123115782372135), resist.y = c(1, 1, 1, 1, 1, 1), resist.x = c(0, 
0.0270024232342251, 0.0532702535247161, 0.0802380777311505, 
0.106711277307466, 
0.131788524427236), mock.y = c(1, 0.99663149455591, 
0.994833858282874, 
0.992162832558697, 0.9898151419445, 0.98845829511382), mock.x = c(0, 
0.0422315106004306, 0.0848393643462402, 0.127812802135558, 
0.17073684383134, 
0.212410640574118)), .Names = c("lethal.y", "lethal.x", "resist.y", 
"resist.x", "mock.y", "mock.x"), row.names = c(NA, 6L), class = 
"data.frame") 
+0

请复制/ dput(头(yourData))的输出粘贴到你的问题,以创建样本数据。 – www

+0

当然,现在补充。 –

+0

谢谢,这使得事情变得更容易,让你得到快速准确的答案。 – www

回答

1

你实际上并没有在这种情况下转换数据。试试这个:

require(ggplot2) 

ggplot(df) + 
    geom_line(aes(x=lethal.x,y=lethal.y,col="lethal")) + 
    geom_line(aes(x=resist.x,y=resist.y,col="resist")) + 
    geom_line(aes(x=mock.x,y=mock.y,col="mock")) + 
    xlab("") + 
    ylab("") + 
    guides(col=guide_legend("Variable")) 

输出:

enter image description here