r - 在 R 的 lm() 中输入多个解释变量有捷径吗?

标签 r regression linear-regression shortcut lm

我对 R 中的 lm() 函数有疑问。 我知道 lm() 用于回归建模,我知道可以这样做:

lm(response ~ explanatory1 + explanatory2 + ... + explanatoryN, data = dataset)

现在我的问题是:“假设 N 很大,有没有我可以使用的捷径,它不需要我编写所有 N 变量名字?”

提前致谢!

编辑:我遗漏了我真正需要回答的问题的很大一部分。假设我想删除 1k 解释变量,并且只包含这些变量的 n-k

最佳答案

mtcars为例:

我会捕获预测变量。我坚持一个基本示例,但可以将正则表达式与 grep 一起使用并保持相同的逻辑(见下文)。我正在使用除第一列(“mpg”)之外的所有列。

predictors <- names(mtcars)[-1] 
# [1] "cyl"  "disp" "hp"   "drat" "wt"   "qsec" "vs"   "am"   "gear" "carb"

myFormula <- paste("mpg ~ ", paste0(predictors, collapse = " + "))
# [1] "mpg ~  cyl + disp + hp + drat + wt + qsec + vs + am + gear + carb"

lm(data = mtcars, formula = myFormula)

正则表达式示例

假设 iris 为例。我想匹配所有包含“花瓣”的列名。

predictors <- grep(x = names(iris), pattern = "Petal", value = TRUE)
#[1] "Petal.Length" "Petal.Width" 

myFormula <- paste("Sepal.Width ~ ", paste0(predictors, collapse = " + "))
# [1] "Sepal.Width ~  Petal.Length + Petal.Width"

lm(data = iris, formula = myFormula)

关于r - 在 R 的 lm() 中输入多个解释变量有捷径吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49931029/

相关文章:

r - 如何将命名值推送到 R 的 cpp11 中的向量?

r - R 中已知固定截距的线性回归

r - 计算 DFFITS 作为回归中杠杆和影响的诊断

使用 R 中的 drc 包回归​​多个剂量 react 曲线

r - 如何从 R 中的 Betareg 模型中找到 R 平方和 Beta 值?

python - 如何从 Python 中的 OLSResults 获取变量中的 P 值?

r - 使 html 表格列更宽/防止单词在 RMarkdown 中换行

R:tibble::lst 名称中不需要的引号

r - 警告 lme4 : Model failed to converge with max|grad|

python - 如何表示数据的趋势(上升/下降/不变)?