我试图理解为什么开发已经从包转向reshape
了。reshape2
它们在功能上似乎相同,但是,reshape2
由于服务器上运行的 R 版本较旧,我无法升级到当前版本。我担心一个重大错误的可能性,它会将开发转移到一个全新的包,而不是简单地继续开发reshape
. 有谁知道reshape
包裹是否有重大缺陷?
1 回答
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 相同的基础语法):更好的开发实践,例如命名空间和测试。