2012-09-11 146 views
46

我试图理解为什么发展已从reshape转变为reshape2包。它们在功能上似乎相同,但是,由于服务器上运行的R版本较旧,因此我无法升级到reshape2。我担心可能会发生一个重大错误,将发展转向一个全新的包,而不是简单地继续开发reshape。有谁知道reshape包装中是否存在重大缺陷?重塑vs重塑在R

+0

'reshape2'替换'reshape'。但你的问题是什么? – Andrie

+1

你发现官方文档是正确的?http://cran.r-project.org/web/packages/reshape2/reshape2.pdf这个关于如何使用reshape2的解释如何? http://wiki.stdout.org/rcookbook/Manipulating%20data/Converting%20data%20between%20wide%20and%20long%20format/ – Wilduck

+0

是的,我看到了官方文档。会看看你的第二个链接,谢谢。我想弄清楚什么改变了? 'reshape2'与'reshape'有什么不同? – Alex

回答

61

reshape2让哈德利重新启动reshape,这种方式更快,同时避免打乱人们的依赖和习惯。

https://stat.ethz.ch/pipermail/r-packages/2010/001169.html

Reshape2是重塑包的重新启动。自从该软件包首次发布以来,已经有超过五年的 ,并且在那段时间里我学到了大量关于R编程的 以及如何使用 中的数据.RRhahape2使用该知识为重塑 更集中且更快速的数据。

该版本以功能为代价提高了速度,因此我已将其 重命名为reshape2以避免对现有用户造成问题。 根据用户反馈,我可能会重新介绍其中一些功能。

什么新的reshape2

  • 相当快,存取效率更高由于使用电力和 子集的速度在最大程度上,在大多数情况下,只有做出更 更好的底层算法 单一数据副本。

  • 根据输出类型,铸件被两个功能取代: dcast产生数据框,acast产生矩阵/数组。

  • 多维利润现在是可能的:grand_rowgrand_col已经下降:现在保证金的名称是指 具有其值设置为(全部)的变量。

  • 某些功能已被删除,例如|转换运算符和 从聚合函数返回多个值的功能。 我相当确定这两个操作都可以通过 plyr更好地执行。

  • 新铸的语法,它允许您根据功能
    变量重塑(基于相同的基本语法plyr):

  • 更好的发展实践,如命名空间和测试。

+0

谢谢马特!感谢你在邮件列表中发布这个更公开熟悉的论坛。 – isomorphismes

+1

*从聚合函数返回多个值的能力*请参阅相关问题:http://stackoverflow.com/questions/21477040/reshape2-multiple-results-of-aggregation-function – landroni