Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中的for语句中构造输出以写入csv?_R_Csv_Output - Fatal编程技术网

如何在R中的for语句中构造输出以写入csv?

如何在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

我正在使用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))
我对输出中非常具体的部分感兴趣,因此我构建了输出,以便使用以下公式精确地给出我需要的系数:

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会导致列名每隔一行显示一次-仅供有类似问题的人参考。非常感谢。