1
我有例如1響應變量,Y
和5個預測變量,X1-X5
。 我試圖適應GLM模型和計算與X5
越軌行爲差異固定在模型如下排除「for」循環中的一個固定變量
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)
}
問:
1)如何排除X5
當迴路選擇i
2)如何在模型中插入固定變量(這裏是X5
)。我注意到,當我在上面的模型中粘貼X5
時,結果不正確。在這裏,我手動使用粘貼功能來檢查模型,可以看到只有1個係數與99 df
。我相信與Y~X5+X1
正常模型我應該有3個係數(包括截距)與97 df
。
mod1 <- glm(as.formula(paste("Y~X5+",X1)), family=binomial, data=dat)
mod1
Call: glm(formula = as.formula(paste("Y~X5+", X1)), family = binomial,
data = dat)
Coefficients:
X5
0.02581
Degrees of Freedom: 100 Total (i.e. Null); 99 Residual
Null Deviance: 138.6
Residual Deviance: 138.6 AIC: 140.6
任何建議,非常感謝。
這並不完全清楚,我。 「ind_var」是一個包含變量名稱的變量嗎?如果是這樣,要回答問題1,難道你不能通過從矢量中去除X5來解決這個問題嗎?對於問題2,爲什麼它錯了?你能在這裏展示結果和預期結果嗎? – Laterow
感謝@Laterow您的意見。我在之前的文章中添加了一些信息。關於ind_var,我需要用其他變量(其他的X1/X2/X3/X4作爲固定變量)重複此操作。但是,如果我找不到解決方案,我只需要手動刪除它。 – Shima