[英]Handling error in function, notify then skip
我在處理一個函數時遇到麻煩,該函數既可以將回歸摘要輸出到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()
多種方法,但似乎對我沒有用。
您看到什么錯誤消息? 您可以嘗試使用rms包中的lrm來估計邏輯回歸模型。 和texreg將其輸出到csv。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.