R 排除“中的一个固定变量”;至于;环

R 排除“中的一个固定变量”;至于;环,r,for-loop,R,For Loop,例如,我有1个响应变量,Y和5个预测器,X1-X5。 我试图拟合glm模型,并使用模型中固定的X5计算偏差差,如下所示 ind_var <- names(dat)[substr(names(dat),1,1)=="X"] results <- data.frame() for (i in ind_var) { glm1 <- glm(as.formula(paste("Y~X5+",i)), family=binomial, data=dat) dDeviance <-

例如,我有1个响应变量,
Y
和5个预测器,
X1-X5
。 我试图拟合glm模型,并使用模型中固定的
X5
计算偏差差,如下所示

ind_var <- names(dat)[substr(names(dat),1,1)=="X"]
results <- data.frame()
for (i in ind_var)
{
glm1 <- glm(as.formula(paste("Y~X5+",i)), family=binomial, data=dat)
dDeviance <- with(glm1,(null.deviance-deviance))
df <- data.frame(ind_var=i, diff=dDeviance)
results <- rbind(results, df)
}

如有任何建议,我们将不胜感激

在循环的
开始处添加
if
条件怎么样

for(i in 1:10){
    if(i == 5) next

    print(i)
}
如果
i==5
,则跳到下一个
i

在您的情况下,将其替换为
X5

或者,为什么不使用:

ind_var <- 1:10

for(i in ind_var[-5]){
            print(i)
        }

ind_var这一点我并不完全清楚。
ind\u var
是包含变量名的变量吗?如果是这样,为了回答问题1,您能否通过从向量中删除
X5
来解决此问题?对于问题2,为什么它是错误的?你能在这里显示结果和预期结果吗?谢谢@Laterow的评论。我在上一篇文章中添加了一些信息。关于ind_变量,我需要用其他变量(其他的X1/X2/X3/X4作为固定变量)重复这一点。但是,如果我找不到解决方案,我只能手动删除它。
ind_var <- 1:10

for(i in ind_var[-5]){
            print(i)
        }