私は 24 人の参加者の瞳孔測定データを持っており、それぞれが数千行の瞳孔サイズの測定値を持っています (私が名前を付けたようにPupilAvg
)。時間列が呼び出さTrialTimestamp
れ、ミリ秒単位で測定されます。私も列としてtrial.number
andを持って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
私の質問は、参加者ごとの試行ごとの平均ベースラインを取得するにはどうすればよいですか?ここで、ベースラインは 5400ms から 5500ms の間の平均瞳孔サイズに等しくなります。これらのベースライン測定値を分析ウィンドウ内の瞳孔測定値から差し引くことができるようにしたいと考えています (個人差を補正するため)。
1 人の参加者 (04) に対して 1 つのトライアル (トライアル 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 です。
各トライアルで各参加者のベースライン測定値を取得するためのコードを誰かが書くのを手伝ってくれたら、とてもありがたいです (各トライアルで各参加者の個々のコードを書く必要はありません!!)。