【发布时间】:2020-12-15 20:20:42
【问题描述】:
运行 R 4.0.2 和 dplyr 1.0.2
我正在尝试在对 srvyr 对象的汇总调用中使用 n = n():
relduration_by_age_grp <- l %>%
filter(ongoing == 0 & ptype == i) %>%
select(ego.id, ptype, age.grp, ego.age.grp, duration, ego.wawt) %>%
mutate(min.age.grp = ifelse(age.grp < ego.age.grp,
age.grp,
ego.age.grp)) %>%
srvyr::as_survey(ids=1, weights=ego.wawt) %>%
group_by(ptype, min.age.grp) %>%
summarize(n = n(),
wtd.median = srvyr::survey_median(duration, na.rm=TRUE),
wtd.mean = srvyr::survey_mean(duration, na.rm=TRUE),
median = srvyr::unweighted(median(duration, na.rm=TRUE)),
mean = srvyr::unweighted(mean(duration, na.rm=TRUE)))
根据其他问题/答案,我也尝试过使用dplyr::summarize(n = dplyr::n(),,但这会导致同样的错误。问题是不能在 srvyr 对象上使用 dplyr n() 吗? srvyr 中似乎没有可用于汇总调用的类似函数。
谢谢!
【问题讨论】:
-
如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。您能否也分享您的
sessionInfo(),以便我们查看加载了哪些包? -
嗨,玛蒂娜!好久不见。
-
嗨,Ben -- 也很高兴见到你 :)
-
我还发现有时在 dplyr 之上加载 plyr 会使 n() 或 group_by 无法工作并产生该消息。