R 如何将变量组合添加到回归中
我正在尝试编写一个代码,它将显示混合变量组合的回归系数。在每次回归之后,另一个变量应该添加到回归中,因此最后我将得到一个列表,显示每次回归的系数。我希望每个回归中只允许1-4个变量。 以下是我的示例数据:R 如何将变量组合添加到回归中,r,logistic-regression,R,Logistic Regression,我正在尝试编写一个代码,它将显示混合变量组合的回归系数。在每次回归之后,另一个变量应该添加到回归中,因此最后我将得到一个列表,显示每次回归的系数。我希望每个回归中只允许1-4个变量。 以下是我的示例数据: dat <- read.table(text = " var1 var2 var3 var4 0 3 9 7 1 3 8 4 1 1
dat <- read.table(text = " var1 var2 var3 var4
0 3 9 7
1 3 8 4
1 1 2 8
0 1 2 3
0 1 8 3
1 6 1 2
0 6 7 1
1 6 1 5
0 5 9 7
1 3 8 7
1 4 2 7
0 1 2 3
0 7 6 3
1 6 1 1
0 6 3 9
1 6 1 1 ",header = TRUE)
以下是输出:
(Intercept) var2
var2 -0.56394149 0.13865097
var3 1.28295290 -0.29798823
var4 0.08075091 -0.01819781
但是,我想添加使用变量组合的回归,并将结果与p值一起显示在表格中,例如:
(Intercept) var2 var3 var4 p-value
var2 -0.56394149 0.13865097 0.02
var3 1.28295290 -0.29798823 0.01
var4 0.08075091 -0.01819781 0.2
var2+var3
var2+var4
var3+var4
var2+var3+var4
你知道怎么做吗?谢谢您您可以使用
MuMIn
来实现以下目的:
mod <- glm(var1 ~ var2 + var3 + var4, data = dat, na.action = na.fail)
# Nullmodel
mod0 <- glm(var1 ~ 1, data = dat, na.action = na.fail)
require(MuMIn)
allmods <- dredge(mod, extra = c(pval = function(x) anova(x, mod0, test = 'F')[2, 'Pr(>F)']))
allmods
mod p值究竟代表什么?这应该来自什么样的零假设?零模型是每个回归p值的基础这是非常好的EDi,有没有办法限制回归包含多达2个自变量。看看我的输出示例-消除var2+va3+var4回归。还有,有没有办法将AUC与此软件包一起添加?谢谢。要限制术语的数量,请使用m.max
参数,请参阅?dregde
。在extra
中,您可以指定应应用于模型的任何函数,也可以为AUC指定一个函数。另一种可能是写一个for循环…感谢您的回复EDi
mod <- glm(var1 ~ var2 + var3 + var4, data = dat, na.action = na.fail)
# Nullmodel
mod0 <- glm(var1 ~ 1, data = dat, na.action = na.fail)
require(MuMIn)
allmods <- dredge(mod, extra = c(pval = function(x) anova(x, mod0, test = 'F')[2, 'Pr(>F)']))
allmods