R 排除“中的一个固定变量”;至于;环
例如,我有1个响应变量,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 <-
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)
}