r - 如何在 R 中对多项式回归建模?

标签 r linear-regression polynomials

我有一个包含 70 个变量的数据集,我想对其进行多项式回归。如果列数是三/四,我可以手写这样的代码——

 model <- lm(y ~ poly(var1,3) + poly(var2,3) + poly(var4,4)

如果我们有 70 个变量,我们将如何处理?我们应该手动输入所有变量的名称还是有更简单的方法?

最佳答案

如果所有变量都系统地命名,您可以粘贴公式:

form <- as.formula(paste("y~", paste0("poly(var", 1:10, ")", collapse="+")))

或(对于三次多项式):

form <- as.formula(paste("y~", paste0("poly(var", 1:10, ", degree=3)", collapse="+")))

此外,如果您的数据集 df 中只有因变量 y 和感兴趣的协变量(具有非系统名称),您可以尝试

ind.y <- grep("y", colnames(df))
form <- as.formula(paste("y~", paste0("poly(", colnames(df[, -ind.y]), ", degree=3)", collapse="+")))

关于r - 如何在 R 中对多项式回归建模?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41470403/

相关文章:

r - 在两个 ggplot 直方图上显示均值和中值

python - Tensorflow 上的简单线性回归

python - 多项式的系数列表

python - 使用 Sage 多项式时出现 NameError

r - 为什么我在 r 中 "meta"包的荟萃分析中得到不同的 95% 置信区间?

python - 将元素(向量)添加到 rpy2 中的列表

r - 在 R 中,如何匹配来自 2 个不同列的值的前 3 个字符

python - 如何实例化具有已知系数的 Scikit-Learn 线性模型而不进行拟合

python - 对 LinearRegression 使用 .set_params() 函数

algorithm - 您如何知道子集总和中的 O(n^k) 的 k 是否为常量?