给定 a data.frame
,我想(动态)创建一个 formula y ~ .
,其中y
是data.frame
.
使这种方法复杂化的as.formula(paste(names(df)[1], "~ ."))
是,列的名称可能是一个函数,例如:
names(model.frame(lm(I(Sepal.Length/Sepal.Width) ~ Species, data = iris)))[1]
是"I(Sepal.Length/Sepal.Width)"
所以我需要引用列名,即在上面的示例中,我希望公式为`I(Sepal.Length/Sepal.Width)` ~ .
.
这有效:
df <- model.frame(lm(I(Sepal.Length/Sepal.Width) ~ Species, data = iris))
fm <- . ~ .
fm[[2]] <- as.name(names(df)[1])
但是有没有一种巧妙的方法可以一步完成呢?