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

如何在R中统计每个subject ID对应的唯一响应值数量

问题解决方法

错误原因

你代码的核心问题是在dplyr管道操作中使用了数据框$列名的写法,这种写法会直接提取整个原始数据框的完整列,忽略group_by的分组逻辑。你在n_distinct里调用individData$Rating.1,相当于每次都统计全数据集里Rating.1的唯一值数量,自然所有被试的计算结果都完全相同。

修正后代码

按照dplyr的语法规范,管道操作中直接引用列名即可,不需要额外加数据框前缀,所有列名默认指向当前管道传递的数据集,分组后计算会自动在每个分组内独立执行:

BehVari <- individData %>%
  group_by(SubID) %>% 
  summarise(count = n_distinct(Rating.1))
BehVari

验证建议

你可以随机抽取2-3个被试的原始数据手动统计唯一响应值数量,和代码输出结果做比对,确认结果符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 04:09:01