我正在尝试建立模型验证工具,在其中遵循正向选择方法,因此如果我们假设我的模型是
model <- y ~ a * b + c * d + e
我可以使用
terms
函数attributes(terms(model))$term.labels
找出我模型中的所有预测变量,但是这种方法的问题是,交互项总是放在结果的末尾。我希望
a:b
在a
和b
之后,而不是在结尾,并且c:d
也是如此。有没有办法使交互条件保持顺序? 最佳答案
最简单的方法是在keep.order
中使用terms.formula()
model <- y ~ a * b + c * d + e
labels(terms(model, keep.order = TRUE))
# [1] "a" "b" "a:b" "c" "d" "c:d" "e"
要查找帮助文件,您将需要使用
?terms.formula
,因为?terms
中未显示此方法。但是terms()
将分派(dispatch)给公式方法。另外,labels()
是从terms()
获得术语标签的一种简便方法。关于r - 公式处理(以适当的顺序放置交互项),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32216107/