我有一个data.frame,看起来像
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的一个因素?如果没有,我如何避免为每个物种单独创建一个层?如果是,(或者在任何一种情况下)使用reshape
或plyr
将列名转换为因子的快速指针将非常感谢。
使用melt
(来自重塑/2包)进行简单的转换就足够了。我会写
library(reshape2)
qplot(Year, value, colour = variable, data = melt(df, 'Year'), geom = 'line')
我发现下面的链接对学习重塑非常有帮助。一旦你有了格式(不一定是最快的)数据,那么重塑和plyr是非常容易使用的函数。table包是使用一些C编写的,所以它的速度要快得多)。这个pdf教程是学习它的一个很好的资源。另外,我建议将示例中的行(强制转换)复制到脚本中并一次运行它们以查看结果。
http://had.co.nz/stat405/lectures/19-tables.pdf