0

我想stepAICMASS包中使用来找到线性模型的自变量的最佳组合。其中一个自变量与另一个变量相关;例如,病毒载量 ( 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)
4

0 回答 0