50

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

4

1 回答 1

69

reshape2让 Hadley 以reshape更快的方式重新启动,同时避免破坏人们的依赖和习惯。

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

Reshape2 是 reshape 包的重新启动。自该软件包第一次发布以来已经过去了五年多,在那段时间里,我学到了很多关于 R 编程以及如何在 R 中处理数据的知识。Reshape2 使用这些知识制作了一个新的软件包来重塑数据,更专注,更快。

此版本以牺牲功能为代价提高速度,因此我将其重命名reshape2以避免给现有用户带来问题。根据用户反馈,我可能会重新引入其中一些功能。

有什么新的reshape2

  • 由于更好的底层算法可以最大程度地使用子集的功能和速度,因此速度更快,内存效率更高,在大多数情况下只制作数据的单个副本。

  • cast 被两个函数替换,具体取决于输出类型: dcast 生成数据帧和acast生成矩阵/数组。

  • 多维边距现在是可能的:grand_row并且 grand_col已被删除:现在边距的名称是指其值设置为 (all) 的变量。

  • 一些功能已被删除,例如|强制转换运算符,以及从聚合函数返回多个值的能力。我有理由确定 plyr 可以更好地执行这两个操作。

  • 一种新的强制转换语法,它允许您根据
    变量的函数进行重塑(基于与 plyr 相同的基础语法):

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

于 2012-09-11T22:50:34.007 回答