我有 24 名参与者的瞳孔测量数据,每个参与者都有数千行瞳孔大小测量值(正如我所命名的PupilAvg
)。时间列被调用TrialTimestamp
并以毫秒为单位。我也有trial.number
和trial.type
作为列。我的数据框(mydata1
)的头部可以在下面看到。
RecordingName trial.number trial.type TrialTimestamp PupilAvg
1 Mix_20_S04 1 same 0 3.910
2 Mix_20_S04 1 same 17 3.815
3 Mix_20_S04 1 same 133 3.545
4 Mix_20_S04 1 same 150 3.460
5 Mix_20_S04 1 same 167 3.410
6 Mix_20_S04 1 same 183 3.345
我的问题是:我怎样才能获得每个参与者每次试验的平均基线,其中基线等于时间 5400 毫秒和 5500 毫秒之间的平均瞳孔大小?我希望能够从我的分析窗口内的瞳孔测量值中减去这些基线测量值(以针对个体差异进行校正)。
我已经为一名参与者(04)的一次试验(试验 3)提出了一个代码。
S04data<-filter(mydata1, RecordingName == "Mix_20_S04")
S04data1<-filter(S04data, trial.number == "3")
baselineS04 <- with(S04data1, mean(PupilAvg[TrialTimestamp >= 5400 & TrialTimestamp <= 5500]))
这将返回值 3.1225。所以参与者 4,试验 3 的基线值为 3.1225。
如果有人可以帮助我编写代码以在每次试验中为每个参与者获取基线测量值,我将非常感激(而我不必为每次试验的每个参与者写出我的个人代码!!)。