【问题标题】:R Data Frames and Regression Model [duplicate]R数据框和回归模型[重复]
【发布时间】:2017-05-03 09:50:03
【问题描述】:

我正在处理具有可变列数的多个文件,即数据集中的每个文件包含不同数量的列。

在每个文件中,第一列是输出变量。其余列是回归的输入变量。

所以,让我们假设我们有一个数据框D,其中包含以下列:

output    abc  abd   dab   cdb ...

即字段的名称也不固定。

我希望在R中使用lm来拟合一个线性回归模型,如下

model <- lm(output ~ abc + abd + dab + cdb ...., data = D)

鉴于我必须使用字段名称来确定公式表达式,而我事先并不知道。

我如何实现这一目标?

【问题讨论】:

  • 试试lm(df[,1] ~ df[,-1])。您可能必须先将数据框转换为矩阵,请参见例如?matrix?model.matrix。只要第一列是因变量,这与名称和大小无关。
  • lm(df[,1] ~ df[,-1]) 如果ncol(df) &gt; 2 将不起作用
  • @AdamQuek 看看lm(mtcars[,1] ~ as.matrix(mtcars[,-1])),其中ncol(mtcars) 明显大于2。
  • 是的。 as.matrix 会起作用。
  • 不知何故...它说变量 'df[,1] 的类型(列表)无效。怎么了?

标签: r dataframe regression


【解决方案1】:

你可以这样做:

model &lt;- lm(output ~ ., data = D)

. 将考虑所有其余字段。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-21
    • 2021-07-28
    • 1970-01-01
    • 2013-11-22
    • 1970-01-01
    • 2014-05-01
    • 2019-11-02
    • 1970-01-01
    相关资源
    最近更新 更多