tidyr VS dplyr+;重塑2
结合使用tidyr VS dplyr+;重塑2,r,dplyr,tidyr,reshape2,R,Dplyr,Tidyr,Reshape2,结合使用dplyr而不是完全使用tidyr是否有任何优点或局限性 我不完全熟悉tidyr的reforme2功能,我想了解切换到tidyr的原因,因为我在R代码中越来越多地看到它 Tidyr遵循tidyverse惯例,如dplyr: 设计用于管道的功能%%>%% 非标准求值(NSE),这意味着您使用不带引号的列名而不是字符串 rlangtidy dots语义,与其他tidyverse软件包一样,这意味着您可以使用和一旦您知道如何使用它们,它们将非常强大。当然,如果不将函数与NSE一起使用,您可以
dplyr
而不是完全使用tidyr
是否有任何优点或局限性
我不完全熟悉
tidyr
的reforme2
功能,我想了解切换到tidyr
的原因,因为我在R代码中越来越多地看到它 Tidyr遵循tidyverse
惯例,如dplyr
:
- 设计用于管道的功能
%%>%%
- 非标准求值(NSE),这意味着您使用不带引号的列名而不是字符串
tidy dots语义,与其他tidyverse软件包一样,这意味着您可以使用rlang
代码>和
代码>一旦您知道如何使用它们,它们将非常强大。当然,如果不将函数与NSE一起使用,您可以在不使用花哨语法的情况下执行相同的操作。。。但是如果您已经使用了
,那么您已经在任何地方使用了NSEdplyr
dplyr
,那么如果您同时使用tidyr
进行数据整形,代码可能会看起来更加一致
此外,restrape2
侧重于重塑数据(melt/cast
),而tidyr
则是这样(collect/spread
),更像是操纵列(unite/separate/extract
),创建和使用列表列和嵌套数据/帧(nest/unest
),处理缺失的值(完成/展开/填充
)
我还应该说dplyr
和tidyr
是互补的,所以我要挑战你的框架(tidyr)
VS(dplyr+restrape2)
dplyr
无论你是使用tidyr
还是restrape2
最终,
melt/dcast
相当于collect/spread
,因此在您需要其他tidyr
功能之前,或者如果您想遵循“tidyverse
趋势”,这是一种个人偏好.这是基于观点的:tidyr的API是Reforme2的演变,它与dplyr和相关软件包更为匹配,尤其是在语言计算(非标准评估)方面。此外,tidyr软件包比Reforme2(un-)做得更多嵌套、分隔和合并列、将值拆分为单独的行……。这绝对值得学习。