我在处理一个函数时遇到麻烦,该函数既可以将回归摘要输出到csv文件,又可以进行回归分析。因此,代码如下所示:
我有三个预测变量:
年龄1(连续),性别1(类别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()
的方法,但似乎不适用于我。
最佳答案
您看到什么错误消息?您可以尝试使用rms包中的lrm来估计逻辑回归模型。然后将texreg输出到csv。
关于r - 处理功能错误,通知然后跳过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42287222/