在R中聚合以计算一列的总和并进一步除以试验次数

时间:2017-07-10 15:46:59

标签: r

我有一个看起来与此类似的数据集

TRIAL      ProbeState      RecallType      SaccadeAmplitude     
1          digits          backwards       0.45 
1          digits          forwards        0.21    
1          positions       backwards       1.40         
1          positions       forwards        0.90        
2          digits          backwards       1.23         
2          positions       forwards        1.01
3          digits          backwards       0.10 
3          digits          forwards        0.34
3          positions       backwards       1.50
3          positions       forwards        1.78
3          positions       forwards        0.88
3          positions       forwards        0.56

我想在试验中总结所有的扫视幅度,然后除以每次试验的行数。

例如:0.45 + 0.21 + 1.40 + 0.90 = 2.96。

2.96 / 4 = 0.74

以下是否合适?

AmplitudeByTrial = aggregate(SaccadeAmplitude ~ TRIAL + ProbeState + RecallType, data=MergedData, mean)

我担心FUN = mean可能无法识别每个试验的行数不同。

1 个答案:

答案 0 :(得分:2)

您可以使用dplyr执行此操作。

library(dplyr)

your_data %>% 
  group_by(TRIAL) %>% 
  summarise(AmplitudeByTrial = sum(SaccadeAmplitude) / n())