【问题标题】:short formula call for many variables when building a model [duplicate]建立模型时,简短的公式需要许多变量[重复]
【发布时间】:2011-04-25 03:06:54
【问题描述】:

我正在尝试使用lm(...) 构建回归模型。我的数据集有很多特征(>50)。我不想把我的代码写成:

lm(output ~ feature1 + feature2 + feature3 + ... + feature70)

我想知道编写此代码的简写符号是什么?

【问题讨论】:

标签: r r-formula


【解决方案1】:

您可以按照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)

【讨论】:

    【解决方案2】:

    也可以试试:

    lm(output ~ myData[,2:71], data=myData)
    

    假设输出是第一列 feature1:feature70 是接下来的 70 列。

    或者

    features <- paste("feature",1:70, sep="")
    lm(output ~ myData[,features], data=myData)
    

    可能更聪明,因为列在数据中的哪个位置并不重要。

    如果为 NA 删除了行,可能会导致问题...

    【讨论】:

    • 这对我使用 data.table 不起作用
    猜你喜欢
    • 1970-01-01
    • 2011-11-30
    • 1970-01-01
    • 2018-06-29
    • 2021-09-04
    • 2021-12-13
    • 2020-04-07
    • 1970-01-01
    相关资源
    最近更新 更多