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

在R Studio中使用group_by按多变量分组求均值遇问题求助

问题

数据表结构如下:

SiteReplicateSpeciesValue A
AAA1
AAB2
ABA3
BAA3
BAB4
BBB6
BBC2
CAA5
CAB6

需要按Site与Species的每种组合计算Value A的平均值,尝试使用dplyr编写的代码如下:

mean_valueA=invertebrates%>% group_by(site, species) %>% summarize(mean_val=mean(value A))

但结果仅按Site分组,未考虑Species,且每个分组数值相同,求解决方法。

解决方法

出现问题的核心原因:

  • 列名大小写不匹配:数据表列名是Site、Species,但代码里用了小写的site、species,dplyr对列名大小写敏感,导致分组逻辑未按预期执行。
  • 带空格列名未正确引用:Value A包含空格,直接写value A会被R解析为两个独立对象,无法正确识别目标列。

修正后的代码:

mean_valueA <- invertebrates %>% 
  group_by(Site, Species) %>% 
  summarize(mean_val = mean(`Value A`), .groups = "drop")
  • .groups = "drop"参数用于计算完成后自动取消分组,避免后续操作因分组残留产生异常。

运行修正代码后,将得到正确的分组平均值:

SiteSpeciesmean_val
AA2
AB2
BA3
BB5
BC2
CA5
CB6

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 23:22:09