【发布时间】:2017-02-24 22:17:11
【问题描述】:
我正在寻找一种方法来将一列添加到我的数据表中,该列由来自 lm(a~b) 函数的 residuals 组成,该函数针对不同级别的 c 单独计算
有人建议我研究 sort_by(c) 函数,但这似乎不适用于 lm(a~b)
我的工作示例数据如下所示:
主题、试验和 rt 列在 data.frame 内,我的目标是通过 R 函数计算 Zre_SPSS(我最初在 SPSS 中创建的)。
我试过了
data %<>% group_by (subject) %>%
mutate(Zre=residuals(lm(log(rt)~trial)))
但它不起作用 - Zre 被计算但不是在每个主题中单独计算,而是针对整个数据框。
谁能帮帮我?我是一个完整的 R(和一般编码)新手,所以如果这个问题是愚蠢的或duplicate,请原谅我,我可能不了解其他解决方案,或者他们不是我寻找的解决方案。最好的祝福。
根据 Ben Bolker 的要求,这里是从 excel 屏幕截图生成数据的 R 代码
#generate data
subject<-c(1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3)
subject<-factor(subject)
trial<-c(1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6)
rt<-c(300,305,290,315,320,320,350,355,330,365,370,370,560,565,570,575,560,570)
#Following variable is what I would get after using SPSS code
ZreSPSS<-c(0.4207,0.44871,-1.7779,0.47787,0.47958,-0.04897,0.45954,0.45487,-1.7962,0.43034,0.41075,0.0407,-0.6037,0.0113,0.61928,1.22038,-1.32533,0.07806)
#make data frame
sym<-data.frame(subject, trial, rt, ZreSPSS)
【问题讨论】:
-
您是否有机会以文本/剪切和粘贴形式而不是屏幕截图的形式发布您的示例?
-
当然。我附上了从屏幕截图生成数据的代码
-
您可能想查看
tidyr::nest和quick blog blurb。 -
This 可能会有所帮助。
-
RHS 上带有
trial的模型,并且 not 作为一个因素,似乎没有多大意义。这真的是您适合 SPSS 模型的数据吗?