我想stepAIC
从MASS
包中使用来找到线性模型的自变量的最佳组合。其中一个自变量与另一个变量相关;例如,病毒载量 ( vl
) 与病程高度相关。因此,我也包括duration
在模型中。我的问题是:如何从模型中一起制作vl
和添加或删除?duration
我阅读了 SAS 的支持文档,在 SAS 中,这可以通过在 EFFECT 语句中使用集合{}
效果类型或在 MODEL 语句中
使用大括号来实现。http://support.sas.com/kb/52/362.html
我试图通过{}
在 R 中使用来做到这一点,但它所做的是创建一个新变量,它是括号中变量的总和。这不正是我想要的。任何想法将不胜感激!
可重现的例子:
library(MASS)
df <- data.frame(severity = c(5, 90, 90, 90, 35, 85, 5, 50, 20, 20, 25, 10, 10, 15, 10, 20, 35, 20, 5, 15, 10, 20, 5, 40),
age = c(31, 2, 6, 2, 5, 5, 4, 9, 2, 12, 34, 30, 24, 24, 25, 17, 21, 15, 11, 10, 6, 35, 19, 24),
sex = c(0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0),
vl = c(3.3, 4.1, 3.2, 5.0, 3.9, 5.4, 5.3, 3.9, 4.2, 5.1, 1.9, 4.2, 3.5, 3.0, 1.2, 5.3, 4.9, 2.6, 2.7, 5.3, 5.0, 3.3, 3.7, 5.2),
duration = c(2, 7, 5, 5, 7, 4, 1, 4, 2, 3, 3, 4, 3, 5, 8, 5, 5, 5, 7, 4, 4, 3, 5, 5))
full.model <- lm(severity ~ age + sex + {vl + duration}, data = df)
stepAIC(full.model, direction = "both", trace = 1)