需要在R中的数据框中对每个主题进行回归

时间:2017-03-14 11:02:22

标签: r regression

我有一个长格式的df(由认知心理实验产生),有几个科目。 df具有表示反应时间(RT)和试验编号的矢量,以及具有主题编号的矢量。我想模拟试验数量对反应时间的影响(基本上,人们如何通过练习获得更快)。我写了一个应该运行回归的简单循环: for (i in unique(red_incongruent$subject_nr)) { print(i) print(lm(red_incongruent$response_time_response ~ red_incongruent$trial_id)) } 它返回一个列表,其中包含每个主题的回归结果。但是,我对每个主题都得到相同的结果,所以一定有问题,但我不明白。

1 个答案:

答案 0 :(得分:1)

您没有在循环中选择主题。也许是这样的:

red_incongruent=data.frame(
    subject_nr=rep(1:100,each=20),
    trial_id=rep(1:20,100),
    response_time_response=rnorm(2000,100))


for (i in unique(red_incongruent$subject_nr))
{
 print(i)
 dat = red_incongruent[red_incongruent$subject_nr==unique(red_incongruent$subject_nr)[i],]
 print(lm(dat$response_time_response ~ dat$trial_id))
}