我想运行逻辑回归的因变量(在我的数据集中它是:dat$admit),其中包含所有可用变量、对和三元组(3 个独立变量),每个回归都有不同的自变量与因变量。我想要返回的结果是一个连续的每个回归摘要的列表:系数、p 值、AUC、CI 95%。使用下面提交的数据集应该有 7 个回归:
dat$admit vs dat$female
dat$admit vs dat$apcalc
dat$admit vs dat$num
dat$admit vs dat$female + dat$apcalc
dat$admit vs dat$female + dat$num
dat$admit vs dat$apcalc + dat$num
dat$admit vs dat$female + dat$apcalc + dat$num
这是一个样本数据集(其中 dat$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)
根据@marek 评论,输出应该是这样的(仅针对女性以及来自女性和 apcalc ): # Intercept Estimate P-Value (Intercept) P-Value (Estimate) AUC # female 0.000000e+00 0.000000e+00 1 1 0.5
女性+apcalc 0.000000e+00 0.000000e+00 1 1 0.5
@David Arenburg 编写了一个很好的代码,它可以生成统计数据,但没有配对和三重奏的模型创建,所以我想知道如何添加模型创建。这是大卫阿伦伯格的代码吗?
library(caTools)
ResFunc <- function(x) {
temp <- glm(reformulate(x,response="admit"), data=dat,family=binomial)
c(summary(temp)$coefficients[,1],
summary(temp)$coefficients[,4],
colAUC(predict(temp, type = "response"), dat$admit))
}
temp <- as.data.frame(t(sapply(setdiff(names(dat),"admit"), ResFunc)))
colnames(temp) <- c("Intercept", "Estimate", "P-Value (Intercept)", "P-Value (Estimate)", "AUC")
temp
# Intercept Estimate P-Value (Intercept) P-Value (Estimate) AUC
# female 0.000000e+00 0.000000e+00 1 1 0.5
# apcalc 0.000000e+00 0.000000e+00 1 1 0.5
# num 5.177403e-16 -1.171295e-16 1 1 0.5
知道如何创建此列表吗?谢谢,罗恩