r语言 - 我需要重塑这个宽数据有效地使用ggplot2



我有一个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的一个因素?如果没有,我如何避免为每个物种单独创建一个层?如果是,(或者在任何一种情况下)使用reshapeplyr将列名转换为因子的快速指针将非常感谢。

使用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

相关内容

最新更新