我需要从lm
模型中获取变量名称。 variable.names()
很好,除非其中一个变量是factor
,在这种情况下:
model <- lm(Petal.Length~Petal.Width+Species, data=iris)
variable.names(model)
返回:
"(Intercept)" "Petal.Width" "Speciesversicolor" "Speciesvirginica"
我需要Species
变量仅出现一次,而无需为每个因素指定不同的级别,例如:
"(Intercept)" "Petal.Width" "Species"
您可以从all.vars
中使用call
提取名称,删除最后一个作为数据的字符串。
all.vars(model$call)[1:length(model$call)]
# [1] "Petal.Length" "Petal.Width" "Species"
获取模型的names
的model.frame
:
names(model.frame(model))
## [1] "Petal.Length" "Petal.Width" "Species"