如何在R中的for语句中构造输出以写入csv?
我正在使用R中的for语句对不同的个体进行条件逻辑回归分析。这方面的代码非常简单:如何在R中的for语句中构造输出以写入csv?,r,csv,output,R,Csv,Output,我正在使用R中的for语句对不同的个体进行条件逻辑回归分析。这方面的代码非常简单: for(ID in unique(Hour168Fin$BAND)){ modelone = clogit(Hour168Fin$OBSERVED ~ Hour168Fin$LNSTEPLENG + Hour168Fin$PowCross + Shrub + strata(Hour168Fin$STEPID), data=Hour168Fin, subset = which(ID==Hour168Fin$BAND
for(ID in unique(Hour168Fin$BAND)){
modelone = clogit(Hour168Fin$OBSERVED ~ Hour168Fin$LNSTEPLENG + Hour168Fin$PowCross + Shrub +
strata(Hour168Fin$STEPID), data=Hour168Fin, subset = which(ID==Hour168Fin$BAND))
我对输出中非常具体的部分感兴趣,因此我构建了输出,以便使用以下公式精确地给出我需要的系数:
x1beta = as.numeric(summary(modelone)$coef[1,1])
x2beta = as.numeric(summary(modelone)$coef[2,1])
x3beta = as.numeric(summary(modelone)$coef[3,1])
x1SE = as.numeric(summary(modelone)$coef[1,3])
x2SE = as.numeric(summary(modelone)$coef[2,3])
x3SE = as.numeric(summary(modelone)$coef[3,3])
x1pvalue = as.numeric(summary(modelone)$coef[1,5])
x2pvalue = as.numeric(summary(modelone)$coef[2,5])
x3pvalue = as.numeric(summary(modelone)$coef[3,5])
modelAIC = AIC(modelone)
results = table(x1beta, x1SE, x1pvalue, x2beta, x2SE, x2pvalue, x2beta, x2SE, x2pvalue, modelAIC, rownames = ID)}
在R中,我可以看到我正在寻找的格式的所有结果,但当我使用此格式将这些结果转换为csv时:
write.csv = (results, file = "TrialOut.csv")
我只得到1个唯一ID的结果。我尝试将write.csv语句嵌入for语句中,并在其外部使用它以获得相同的结果。有什么建议吗?我真的很困惑,因为我可以在R中看到结果,但似乎无法将其转换为csv
谢谢你的时间 尝试在循环中包含
write.csv
调用,并使用append=TRUE
:
for (...) {
# ...
# ...
write.csv(results, file = "someFile.csv", append = TRUE)
}
ID
的值只是最后一次通过for循环。而且,结果每次都会被覆盖。是。我正在寻找一种方法,将所有ID放入csv文件中。有什么方法可以阻止结果被覆盖吗?如果您在for循环中写入.csv。。。您是否碰巧覆盖了您的文件?如果在for循环中,您的文件名应该有一个索引,例如file=paste0(“TrialOut”,ID,.csv”)
。如果您将其更改为数据框,则可以使用结果,粘贴选项为每个ID创建一个单独的文件。我希望将所有结果放在一个文件中。Hm。这运行了,但不起作用。我仍然只得到了最后一个ID结果,这个错误是:17:In write.csv(results,file=“TrialOut.csv”,append=TRUE):尝试将'append'设置为ignoredHmm可能尝试使用write.table而不是write.csv,然后!这起作用了:write.table(results,file=“TrialOut.csv”,append=TRUE,sep=“,”,col.names=FALSE)
。省略col.names=FALSE会导致列名每隔一行显示一次-仅供有类似问题的人参考。非常感谢。