我一直得到"summarise()已按'new_brand‘分组输出。您可以使用.groups参数覆盖。“我不确定我是否收到了这个错误,因为我创建了列pos_prop和neg_prop
superbowl %>% group_by(new_brand, superbowl) %>% summarize(mean(superbowl$volume, superbowl$pos_prop, superbowl$neg_prop), sd(superbowl$volume, superbowl$pos_prop, superbowl$neg_prop)) %>% filter(superbowl, superbowl == "0")当我运行rlang::last_error()代码时,我不知道如何使代码正确运行。任何帮助都将不胜感激。
发布于 2022-04-18 17:04:11
您使用的summarize和这样的错误。试试这个:
superbowl %>%
group_by(new_brand) %>%
summarize(across(c(volume, pos_prop, neg_prop),
list(mu = ~ mean(.), sigma = ~ sd(.)))) %>%
filter(superbowl == "0")关于您的代码的说明:
superbowl %>%启动dplyr-pipe之后,几乎从不在dplyr动词中使用superbowl$ (非常罕见的例外);我还删除了group_by和filter中对superbowl的引用,因为不清楚是否要再次引用原始帧符号.如果您有superbowl$superbowl,那么它们可能仍然是superbowl$superbowl使用across(..)或命名计算,例如,summarize(volume_mu = mean(volume), pos_mu = mean(pos_prop), ...);和mean(volume, pos_prop, neg_prop) (不管有没有superbowl$)是一个错误:在这种情况下,调用实际上是mean(volume, trim=pos_prop, na.rm=neg_prop),这应该会产生错误。如果您真的想将三列的数据聚合到一个数字中,可以将其修改为over-aggregation.,但我认为这可能是意外的mean(c(volume, pos_prop, neg_prop))。
实际数据证明了这一点:
mtcars %>%
group_by(cyl) %>%
summarize(across(c(disp, mpg),
list(mu = ~ mean(.), sigma = ~ sd(.))))
# # A tibble: 3 x 5
# cyl disp_mu disp_sigma mpg_mu mpg_sigma
# <dbl> <dbl> <dbl> <dbl> <dbl>
# 1 4 105. 26.9 26.7 4.51
# 2 6 183. 41.6 19.7 1.45
# 3 8 353. 67.8 15.1 2.56https://stackoverflow.com/questions/71914704
复制相似问题