【问题标题】:How do I create a simple linear regression function in R that iterates over the entire dataframe?如何在 R 中创建一个遍历整个数据帧的简单线性回归函数?
【发布时间】:2020-07-29 17:24:03
【问题描述】:

我正在通过 ISLR 工作,但遇到了一个问题。基本上,我正在尝试创建一个遍历整个数据框的函数。是问题3.7、15a。

对于每个预测变量,拟合一个简单的线性回归模型来预测响应。描述你的结果。在哪些模型中,预测变量和响应之间存在统计上显着的关联?创建一些图表来支持您的断言。

所以我的想法是这样的:

y = Boston$crim 
x = Boston[, -crim] 
TestF1 = lm(y ~ x) 
summary(TestF1) 

但这远不是正确的答案。我希望通过以下方式将其分解:

  1. 迭代整个数据帧,以 crim 作为我的响应,其他作为预测变量
  2. 提取具有统计学意义的 p 值(或提取不显着的 p 值)
  3. 继续下一个问题(这要容易得多)

但我被困住了。我用谷歌搜索但找不到任何东西。我尝试了这个 combn(Boston) 的东西,但也没有用。请帮忙,谢谢。

【问题讨论】:

    标签: r statistics


    【解决方案1】:

    如果您的问题是迭代数据框,这里是mtrcars 的示例(mpg 是目标变量,其余是预测变量,假设模型具有单个预测变量)。这个想法是生成字符串并将它们转换为公式:

    lms <- vector(mode = "list", length = ncol(mtcars)-1)
    
    for (i in seq_along(lms)){
      lms[[i]] <- lm(as.formula(paste0("mpg~",names(mtcars)[-1][i])), data = mtcars)
    }
    

    如果您想查看每个变量组合,请从包含所有变量的模型开始,然后消除不显着的预测变量以找到最佳模型。

    【讨论】:

      猜你喜欢
      • 2021-11-19
      • 2016-09-20
      • 2018-10-03
      • 2019-12-04
      • 1970-01-01
      • 2020-07-15
      • 1970-01-01
      • 1970-01-01
      • 2018-06-06
      相关资源
      最近更新 更多