将reshape2与dplyr结合使用而不是完全使用tidyr是否有任何优点或限制?
我并不完全熟悉tidyr函数的reshape2等价物,我想了解为什么要切换到tidyr,因为我越来越多地在R码中看到它。
发布于 2019-08-08 10:16:19
Tidyr遵循tidyverse惯例,如dplyr:
%>%良好工作的函数rlang整洁点语义,就像其他tidyverse包一样,这意味着一旦知道如何使用它们,就可以使用非常强大的!!和!!!。当然,如果您不对NSE使用函数,则可以在不使用花哨语法的情况下进行同样的操作。但是,如果您已经使用了dplyr,那么您已经在各地使用NSE了。如果您已经使用了dplyr,如果您也使用tidyr进行数据整形,您的代码可能看起来更加一致。
此外,reshape2专注于重塑数据(melt/cast),而tidyr则这样做(gather/spread),更像是操作列(unite/separate/extract),创建和处理列表列和嵌套数据/帧(nest/unnest),处理丢失的值(complete/expand/fill)。
我还应该说,dplyr和tidyr是互补的,所以我将挑战您的框架(tidyr)与(dplyr + reshape2)。dplyr是必不可少的,无论您是使用tidyr还是reshape2。
最终,melt/dcast等同于gather/spread,所以它是个人偏好,直到您需要其他tidyr特性,或者如果您想要遵循"tidyverse趋势“。
https://stackoverflow.com/questions/57410033
复制相似问题