如何在 lm() 中添加所有变量的二阶?
How to add all variables its second degree in lm()?
我有一个包含 16 个变量的数据框。当我进行多元线性回归时,我会执行以下操作:
fit <- lm(y ~ .,data=data)
现在,我知道如何添加其中一个变量的二次项:
fit2 <- lm(y ~ poly(x1,2) + .,data=data)
但现在我不想为我的所有 16 个变量写出这个。我怎样才能以一种简单的方式对我的所有变量执行此操作?
假设数据中的第一个变量是我们的 'y',我们得到:
as.formula(
paste('y ~',paste('poly(',colnames(data[-1]),',2)',collapse = ' + ')
)
我有一个包含 16 个变量的数据框。当我进行多元线性回归时,我会执行以下操作:
fit <- lm(y ~ .,data=data)
现在,我知道如何添加其中一个变量的二次项:
fit2 <- lm(y ~ poly(x1,2) + .,data=data)
但现在我不想为我的所有 16 个变量写出这个。我怎样才能以一种简单的方式对我的所有变量执行此操作?
假设数据中的第一个变量是我们的 'y',我们得到:
as.formula(
paste('y ~',paste('poly(',colnames(data[-1]),',2)',collapse = ' + ')
)