You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用dplyr计算分组列的均值、标准差及标准误报错求助

问题原因及解决方法

报错原因

你遇到的问题核心是dplyr版本迭代导致的语法不兼容:

  • summarise_each是dplyr旧版本的函数,目前已被官方弃用,新版dplyr推荐直接在summarise()/mutate()这类核心动词中使用across()来实现批量列处理。
  • 你尝试在已被弃用的summarise_each()里嵌套across(),但across()的设计逻辑就是要直接放在summarise/mutate这类"dplyr verbs"内部,这种嵌套调用违背了它的使用规则,所以触发报错。

正确写法示例

直接在summarise()中结合across(),批量处理所有分析类数值列,同时计算均值、标准差、标准误:

library(dplyr)

# 假设数据集名为df,按Size和Fraktion分组后计算统计量
df_summary <- df %>%
  group_by(Size, Fraktion) %>%
  summarise(
    # 对除分组列外的所有数值列计算均值、标准差、标准误
    across(-all_of(c("Size", "Fraktion")), 
           list(
             mean = ~mean(., na.rm = TRUE),
             sd = ~sd(., na.rm = TRUE),
             se = ~sd(., na.rm = TRUE)/sqrt(n())
           )),
    .groups = "drop" # 可选,用于取消分组状态
  )

内容的提问来源于stack exchange,提问作者ni80R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 16:12:02