代码之家  ›  专栏  ›  技术社区  ›  Ansjovis86

如何在lm()中添加所有变量的二阶?[副本]

  •  1
  • Ansjovis86  · 技术社区  · 8 年前

    我有一个16个变量的数据帧。当我进行多元线性回归时,我会执行以下操作:

    fit <- lm(y ~ .,data=data)
    

    现在,我知道了如何添加其中一个变量的二次项:

    fit2 <- lm(y ~ poly(x1,2) + .,data=data)
    

    但现在我不想把16个变量都写出来。如何以简单的方式处理所有变量?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Ansjovis86    8 年前

    当假设数据中的第一个变量是“y”时,我们得到:

    as.formula(
        paste('y ~',paste('poly(',colnames(data[-1]),',2)',collapse = ' + ')
    )