数据帧R中的存储循环结果
我想将AIC fit的循环结果存储到数据框中,当我尝试在块内打印时,数据框成功创建,但当我在循环外调用数据框时,它似乎是空的,我想知道可能是什么问题。这是代码数据帧R中的存储循环结果,r,iteration,R,Iteration,我想将AIC fit的循环结果存储到数据框中,当我尝试在块内打印时,数据框成功创建,但当我在循环外调用数据框时,它似乎是空的,我想知道可能是什么问题。这是代码 A<-data.frame(AIC_ori=numeric(0),AIC_len=numeric(0),AIC_2dl=numeric(0)) for (i in 1:17){ fit.ori <- glc(key_resp_3.keys ~ ori_transform, data=d[d$block== i,], cat
A<-data.frame(AIC_ori=numeric(0),AIC_len=numeric(0),AIC_2dl=numeric(0))
for (i in 1:17){
fit.ori <- glc(key_resp_3.keys ~ ori_transform, data=d[d$block== i,], category=d[d$block== i,]$corrAns, zlimit=7)
fit.len <- glc(key_resp_3.keys ~ length, data=d[d$block== i,], category=d[d$block== i,]$corrAns, zlimit=7)
fit.2dl <- glc(key_resp_3.keys ~ ori_transform + length, data=d[d$block== i,], category=d[d$block== i,]$corrAns, zlimit=7)
#This code compares the three by calculating an AIC. Lower is better
A[i,1]=AIC(fit.ori)
A[i,2]= AIC(fit.len)
A[i,3]=AIC(fit.2dl)
print(A)
}
A在没有数据的情况下,以下内容未经测试,但我相信它实现了for
循环的预期功能
A <- lapply(1:17, function(i){
k <- d$block == i
fit.ori <- glc(key_resp_3.keys ~ ori_transform, data = d[k, ], category = d$corrAns[k], zlimit = 7)
fit.len <- glc(key_resp_3.keys ~ length, data = d[k, ], category = d$corrAns[k], zlimit = 7)
fit.2dl <- glc(key_resp_3.keys ~ ori_transform + length, data = d[k, ], category = d$corrAns[k], zlimit = 7)
data.frame(AIC_ori = AIC(fit.ori), AIC_len = AIC(fit.len), AIC_2dl = AIC(fit.2dl))
})
A <- do.call(rbind, A)
A您的代码看起来不错。你能分享一些样本数据让你的例子重现吗?或者可以在内置数据上演示,如mtcars
?