r - 将循环结果存储在数据帧 R 中
问题描述
我想将 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,], 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)
}
解决方案
没有数据,以下内容未经测试,但我相信它可以完成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)
推荐阅读
- java - 从edittext获取数值的替代方法
- javascript - 从 chrome 扩展发布数据
- node.js - 将文件从一个文件夹移动到s3中的另一个文件夹
- javascript - JavaScript onload() 函数
- c++ - 如何在我的程序中实施跳字解决方案?
- amazon-web-services - 如何在 splunk Enterprise 中使用 boto3
- java - JENKINS REST API 抛出 403 禁止
- tensorflow - Keras loss突然从小值变成inf
- python - 旋转图像会影响测试期间算法的验证准确性吗?
- javascript - 剑道下拉和过滤网格外