Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
tidyr VS dplyr+;重塑2_R_Dplyr_Tidyr_Reshape2 - Fatal编程技术网

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),这意味着您使用不带引号的列名而不是字符串

  • rlang
    tidy dots语义,与其他tidyverse软件包一样,这意味着您可以使用
    一旦您知道如何使用它们,它们将非常强大。当然,如果不将函数与NSE一起使用,您可以在不使用花哨语法的情况下执行相同的操作。。。但是如果您已经使用了
    dplyr
    ,那么您已经在任何地方使用了NSE

如果您已经使用了
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-)做得更多嵌套、分隔和合并列、将值拆分为单独的行……。这绝对值得学习。