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

如何用aggregate函数同时按两个因子指定水平子集化并聚合数据?

解决方法

你可以在aggregate的subset参数里用**逻辑与(&)**同时指定两个因子的水平条件,直接组合多个筛选规则就行。假设你的第二个因子列名叫f_condition(如果实际列名不同,替换成你的真实列名),示例代码如下:

# 同时筛选f.pair等于2、f_condition等于1的子集,按participant聚合correct_resp的均值
unique_mean <- aggregate(
  correct_resp ~ participant,
  data = AOV1,
  subset = (f.pair == 2 & f_condition == 1),
  FUN = mean
)

如果觉得在aggregate里写多个条件太拥挤,也可以先提前筛选出符合要求的子数据集,再做聚合,可读性更强:

# 先筛选符合两个条件的数据
filtered_data <- subset(AOV1, f.pair == 2 & f_condition == 1)
# 再聚合均值
unique_mean <- aggregate(correct_resp ~ participant, data = filtered_data, FUN = mean)

两种方法都能实现你要的「按两个因子指定水平子集化后聚合」的需求,选哪种看你个人习惯。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.01 18:02:25