2011-10-27 20 views
10

我有data.frame看起来像我是否需要重塑这些宽泛的数据才能有效地使用ggplot2?

Year Crustaceans  Cod  Tuna Herring Scorpion.fishes 
1 1950 58578630 2716706 69690537 87161396  15250015 
2 1951 59194582 3861166 34829755 51215349  15454659 
3 1952 47562941 4396174 31061481 13962479  12541484 
4 1953 68432658 3901176 23225423 13229061   9524564 
5 1954 64395489 4412721 20798126 25285539   9890656 
6 1955 76111004 4774045 13992697 18910756   8446391 

随着几个物种(列),并运行从1950年到2006年,我想和GGPLOT2探索它(这我刚学)。 我是否需要转换此数据以便该物种是有效使用ggplot2这一数据的因素?如果不是,我该如何避免为每个物种单独创建一个图层?如果是的话(或者真的在这两种情况下)使用reshapeplyr将列名变成一个因子的快速指针将非常感谢。

回答

9

使用melt(来自reshape/2包)的简单转换就足够了。我会做

library(reshape2) 
qplot(Year, value, colour = variable, data = melt(df, 'Year'), geom = 'line') 
3

我发现以下链接对学习重塑非常有帮助。 Reshape和plyr一旦拥有格式(不一定是最快的(data.table包是用C编写的,因此速度更快),它们的工作方式是非常简单易用的。本教程pdf是学习它的好资源。此外,我建议复制从例如(投)行成一个脚本并运行它们一次一个看到的结果。

http://had.co.nz/stat405/lectures/19-tables.pdf

+0

任何其他方式来访问一个很好的教程?这个链接是现在损坏:( – ae0709

+1

我现在使用** tidyr **软件包,它有一个内置的小插图。 –

相关问题