我想运行逻辑回归的因变量(在我的数据集中它是:dat $ admit)包含所有可用变量,每个回归都有自己的独立变量vs因变量。 我想得到的结果是每个回归摘要的列表。使用下面提交的数据集应该有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)
如何为逻辑回归创建正确的函数?
答案 0 :(得分: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))))