ddply() 说当有 none 时我的数据中有一些缺失值,知道为什么吗?

ddply() is saying there is some missing value in my data when there is none, any idea why?

我正在尝试使用 ddply() 而不是 tapply()。但它显示了一些我无法修复的错误。

library(MASS)
data(birthwt)
ddply(birthwt$bwt,birthwt$race,mean)

if (empty(.data)) return(.data) 错误: TRUE/FALSE 需要

的缺失值

错误不是由于缺少数据,而是因为用于 ddply 的语法不正确。第一个参数应该是数据框,然后是分组依据的变量,然后是汇总函数。

所以像这样:

ddply(birthwt, ~race, summarize, Mean = mean(bwt))

  race     Mean
1    1 3102.719
2    2 2719.692
3    3 2805.284

不过,我会考虑查看 dplyr,它是 plyr 的更现代的继承者。同样的操作看起来像这样:

library(dplyr)
birthwt %>% 
  group_by(race) %>% 
  summarise(Mean = mean(bwt))