ロジスティック回帰の従属変数 (私のデータ セットでは: dat$admit) を、使用可能なすべての変数、ペア、およびトリオ (3 つの独立変数) で実行したいと思います。各回帰は、異なる独立変数と従属変数で行われます。私が取得したい結果は、各回帰要約のリストです: coeff,p-value ,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 のコメントによると、出力は次のようになります (女性のみの場合、および female & apcalc から): # Intercept Estimate P-Value (Intercept) P-Value (Estimate) AUC 0.5
女性+apcalc 0.000000e+00 0.000000e+00 1 1 0.5
@David Arenburg が書いた、統計を生成する良いコードがありますが、ペアとトリオのモデル作成はありません。そのため、モデル作成を追加する方法を知りたいです。ここに 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
このリストを作成する方法はありますか? ありがとう、ロン