【问题标题】:Creating a loop that will run a simple regression across all Independent variables创建一个循环,将在所有自变量上运行简单回归
【发布时间】:2014-03-09 09:20:00
【问题描述】:

我已经使用 iris 数据集建立了一个简单的回归模型。我想用所有可用变量运行因变量(iris$Sepal.Length),每个回归都有自己的变量(每个回归应该是 。我想要得到的结果是每个回归摘要的列表。使用 iris 数据设置应该有 4 个回归:

r1 <- lm(Sepal.Length ~ Sepal.Width, data=iris)
r2 <- lm(Sepal.Length ~ Petal.Length, data=iris)
r3 <- lm(Sepal.Length ~ Petal.Width, data=iris)
r4 <- lm(Sepal.Length ~ Species, data=iris)

以及每个回归系数的摘要。 任何想法我该怎么做?

【问题讨论】:

    标签: r


    【解决方案1】:
    sapply(names(iris)[-1], 
           function(x) lm.fit(cbind(1, iris[,x]), iris[,"Sepal.Length"])$coef)
    #   Sepal.Width Petal.Length Petal.Width  Species
    #x1   6.5262226    4.3066034   4.7776294 4.261333
    #x2  -0.2233611    0.4089223   0.8885803 0.791000
    

    【讨论】:

      【解决方案2】:
      library(plyr)
      coefs = llply(names(iris)[-1], function(x){
        fml = as.formula(sprintf("Sepal.Length ~ %s", x))
        coef(lm(fml, data = iris))
      })
      

      【讨论】:

        猜你喜欢
        • 2014-04-12
        • 2014-05-09
        • 2021-10-30
        • 1970-01-01
        • 2014-01-06
        • 1970-01-01
        • 2014-08-03
        • 2019-05-22
        • 2020-10-31
        相关资源
        最近更新 更多