首页 文章

创建一个循环,在所有独立变量中运行Logistic回归

提问于
浏览
0

我想运行逻辑回归的因变量(在我的数据集中它是:dat $ admit)和所有可用变量,每个回归都有自己的独立变量和因变量 . 我想得到的结果是每个回归摘要的列表 . 使用下面提交的数据集应该有3个回归 .

这是一个示例数据集(其中admit是逻辑回归因变量):

dat <- read.table(text = "
+ female  apcalc    admit       num
+ 0        0        0         7
+ 0        0        1         1
+ 0        1        0         3
+ 0        1        1         7
+ 1        0        0         5
+ 1        0        1         1
+ 1        1        0         0
+ 1        1        1         6",
+                   header = TRUE)

我得到了一个简单线性回归的例子,但是当我试图将函数从lm更改为glm时,我得到了"list()" .
这是原始代码 - 对于虹膜数据集,其中"Sepal.Length"是因变量:

sapply(names(iris)[-1], 
       function(x) lm.fit(cbind(1, iris[,x]), iris[,"Sepal.Length"])$coef)

如何为逻辑回归创建正确的函数?

1 回答

  • 4
    dat <- read.table(text = "
    female  apcalc    admit       num
    0        0        0         7
    0        0        1         1
    0        1        0         3
    0        1        1         7
    1        0        0         5
    1        0        1         1
    1        1        0         0
    1        1        1         6",
                   header = TRUE)
    

    这可能有点过于浓缩,但它确实起到了作用 . 当然,样本数据集太小,无法获得任何明智的答案......

    t(sapply(setdiff(names(dat),"admit"),
         function(x) coef(glm(reformulate(x,response="admit"),
                              data=dat,family=binomial))))
    

相关问题