r - tidyverse,plyr和dplyr

标签 r dplyr

我曾经在任何地方都使用 dplyr,但包含了一些 plyr 函数。老实说,我不知道有什么区别或为什么事情发生了变化。相同的代码会产生不同的数据帧,具体取决于我导入的是 plyr 还是 tidyverse 。 我想要的是一个名为新生儿_stat 的数据框,其中每行包含唯一的 pid 和一个新的 c_pos 列。

raw_file_contents<- data.frame( pid=c(1,2,2,3,3), C_SYMP=c("Y","N","Y","N","N"))
newborn_stat<- raw_file_contents %>%
        group_by(pid) %>%
        summarise(c_pos= any( C_SYMP == "Y", na.rm = TRUE))

相反,我会得到一个 1 行的数据框,newborn_stat c_pos 等于 TRUE。 如果我将 dplyr::与 group_by 和 summarise 一起使用,我想我得到了正确的答案。 为什么会出现这种情况? 我一直在使用 Rmd 笔记本,因此当我尝试运行包含此行的前一个 block 时,事情不起作用。

最佳答案

所以我认为这是由于 dplyrplyr 的功能工作方式不同所致。这是一个基本正确的假设,因为 dplyrplyr 都有 summarize 函数,而 dplyr group_by ,但 plyr 没有。如果您在稍后的 block 中导入 plyr ,然后重新运行问题中显示的表达式,则 summarize 被假定为来自 plyr 命名空间的表达式。因此您在该表达式中运行 dplyr::group_by + plyr::summarize

我希望他们在 plyr 中使用不同的名称进行摘要。或者在整个过程中保留相同的函数名称(如果有意义的话)。

关于r - tidyverse,plyr和dplyr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71088054/

相关文章:

r - 获取最大值,对其进行分组,然后在 R 中获取原始计数

r - 使用group by获取另一列最大值对应的值

r - ggplot : How to increase spacing between faceted plots?

r - 使用 httr 进行网页抓取会出现 xml_nodeset 错误

regex - 拆分保留重复分隔符

r - 在 vector 中添加列但不在 df 中添加列

r - 使用 dplyr 合并包含相似字符串的行

r - 如何使用 curly curly 将值转换为数字并过滤掉函数内的 NA?

r - 在 mutate 中将参数传递给 pmap

r - left_join 不合并所有值