处理功能错误,然后通知跳过

时间:2017-02-17 00:21:17

标签: r function loops error-handling

我无法处理可以将回归摘要输出到csv文件并处理回归分析的函数。所以代码看起来像这样:

我有三个预测变量: age1(连续),gender1(分类0/1),FLUSHOT(分类0/1)

在文件中,前100列是我要测试的响应变量(所有分类0/1)。

目标是对每个响应变量(1:100)进行回归分析,并仅输出p值,OR和CI。

所以我的代码是这样的:

fun1<-function(x){
  res<-c(paste(as.character(summary(x)$call),collapse = " "),
         summary(x)$coefficients[4,4],
         exp(coef(x))[4],
         exp(confint(x))[4,1:2],"\n")

  names(res)<-c("call","p-value","OR","LCI","UCI","")
  return(res)}


res2=NULL
lms=list()
for(i in 1:100)
{
  lms[[i]]=glm(A[,i]~age1+gender1+as.factor(FLUSHOT),family="binomial",data=A)               
  res2<-rbind(res2,fun1(lms[[i]]))
}
write.csv(res2,"A_attempt1.csv",row.names=F)

例如,如果我们在每个类别中都有足够的样本量,或者边际频率如下:

table(variable1,FLUESHOT)
   0    1
0  15   3
1  11   19

此代码效果很好,但如果我们有类似的内容:

 table(variable15,FLUESHOT)
       0    1
    0  15   0
    1  11   19

代码遇到错误,报告并停止。

我尝试了多种使用try()tryCatch()的方式,但似乎对我没用。

1 个答案:

答案 0 :(得分:0)

您看到了什么错误消息?您可以尝试使用rms包中的lrm来估计逻辑回归模型。并将texreg输出到csv。