【发布时间】:2017-07-17 22:33:00
【问题描述】:
我正在使用 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。
感谢您的宝贵时间!
【问题讨论】:
-
ID的值只是最后一次通过 for 循环。此外,results每次都会被覆盖。 -
是的。我正在寻找一种将所有 ID 放入 csv 文件的方法。有什么方法可以阻止结果被覆盖?
-
如果你在 for 循环中
write.csv应该可以工作......你是否偶然覆盖了你的文件?如果在 for 循环内,您的文件名应该有一个索引,例如file=paste0("TrialOut_", ID, ".csv"). -
如果您将其更改为数据框,您可以使用
results <- rbind(results, .....)。在循环之前将results设置为空数据帧,然后在之后写入。不确定它是否适用于桌子 -
粘贴选项为每个 ID 创建了一个单独的文件。我希望将所有结果放入一个文件中。