使用reshape2
有什么优点或限制吗?关联于dplyr
而不是完全使用tidyr
?
我不太熟悉 tidyr
相当于reshape2
功能,我想了解切换到 tidyr
的原因是什么只是当我在 R 代码中越来越多地看到它时。
最佳答案
Tidyr 遵循 tidyverse
约定,例如 dplyr
:
旨在与管道良好配合的函数
%>%
非标准评估 (NSE),这意味着您使用不带引号的列名称而不是字符串
<rlang
tidydots 语义,就像其他 tidyverse 包一样,这意味着您可以使用!!
和!!!
,它们是一旦你知道如何使用它们,它们就会非常强大。当然,如果您不使用带有 NSE 的函数,您可以在没有花哨语法的情况下执行相同的操作...但是如果您已经使用 dplyr,那么您已经在各处使用了 NSE。
如果您已经使用 dplyr
,并且还使用 tidyr
进行数据 reshape ,您的代码可能看起来更加一致。
此外,reshape2
专注于 reshape 数据(melt/cast
),而 tidyr
则执行此操作(gather/spread
) >)以及更多类似操作列(unite/separate/extract
)、创建和使用列表列和嵌套数据/框架(nest/unnest
)、处理缺失值(完成/扩展/填充
)。
我还应该说 dplyr
和 tidyr
是互补的,所以我会挑战你的框架 (tidyr)
VS (dplyr + reshape 2)
。无论您使用 tidyr
还是 reshape2
,dplyr
都是不可或缺的。
最终,melt/dcast
相当于 gather/spread
,因此在您需要其他 tidyr
功能之前,这是个人偏好,或者如果您想追随“tidyverse
趋势”。
关于r - tidyr VS dplyr + reshape2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57410033/