如何从 r 中的线性预测变量中获取名称

How to get names from linear predictor in r

晚上,

我正在尝试从以下形式的对象中获取要添加到数据框中的名称

regressors <- ~ log(Rate) + Weed + Monocot + Warm + Stage + Method

我想要各个回归变量的名称,例如 c("log(Rate)", "Weed",...) 所以我可以在数据框中使用它们而无需手动操作。

提前致谢。

vars <- as.character(regressors)[[2]]
names_vars <- strsplit(vars, "\s\+\s")[[1]] # split at + preceded and followed by a space. 

## [1] "log(Rate)" "Weed"      "Monocot"   "Warm"      "Stage"     "Method" 

all.vars 函数可以拯救,尽管它从变量中删除函数名称,例如从 log(Rate).

中删除 log
all.vars(regressors)
[1] "Rate"    "Weed"    "Monocot" "Warm"    "Stage"   "Method"   

你是这个意思吗?

attr(terms(regressors), "term.labels")
#> [1] "log(Rate)" "Weed"      "Monocot"   "Warm"      "Stage"     "Method"