我正在尝试使用lm(...)
. 我的数据集有很多特征(>50)。我不想把我的代码写成:
lm(output ~ feature1 + feature2 + feature3 + ... + feature70)
我想知道编写此代码的简写符号是什么?
您可以.
按照帮助页面中的说明使用formula
. .
代表“公式中没有的所有列” 。
lm(output ~ ., data = myData)
.
或者,使用 手动构造公式paste
。此示例来自as.formula()
帮助页面:
xnam <- paste("x", 1:25, sep="")
(fmla <- as.formula(paste("y ~ ", paste(xnam, collapse= "+"))))
然后,您可以将此对象插入回归函数:lm(fmla, data = myData)
.
也可以尝试以下方法:
lm(output ~ myData[,2:71], data=myData)
假设输出是第一列 feature1:feature70 是接下来的 70 列。
或者
features <- paste("feature",1:70, sep="")
lm(output ~ myData[,features], data=myData)
可能更聪明,因为列在您的数据中的哪个位置并不重要。
如果为 NA 删除了行,可能会导致问题......