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

在R中按其他变量汇总因子水平观测数的问题求助

解决分组统计ErrorType计数重复的问题

你代码里的count(df, ErrorType)调用的是原始数据集df的全局统计结果,不是当前分组的子集数据,所以每个分组都会重复输出全局的ErrorType计数,这就是重复问题的根源。

下面是两种正确的解决方法:

方法一:使用summarise()配合n()

error.sum <- df %>% 
  group_by(TrainingCondition, Group, SessionType, ErrorType) %>%
  summarise(Count = n(), .groups = "drop")
  • n()在分组后的summarise中,会自动计算当前分组内的观测数量,也就是对应ErrorType在该分组下的出现次数。
  • .groups = "drop"可以让结果转为普通数据框,避免后续操作时残留分组状态导致的意外问题。

方法二:直接使用count()函数一次性完成分组计数

error.sum <- df %>% 
  count(TrainingCondition, Group, SessionType, ErrorType, name = "Count")
  • count()本身支持传入多个分组变量,会自动按指定变量分组后统计每组的条目数,name参数用来指定计数列的名称为"Count",写法更简洁高效。

额外提示

如果你的数据中存在同一被试(ParticipantID)在同一分组下重复记录同一ErrorType的情况,需要先去重再统计的话,可以在代码前加上去重步骤:

error.sum <- df %>% 
  distinct(ParticipantID, Group, SessionType, TrainingCondition, ErrorType) %>%
  count(TrainingCondition, Group, SessionType, ErrorType, name = "Count")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 00:42:06