1

ロジスティック回帰の従属変数 (私のデータ セットでは : ) を使用可能なすべての変数で実行したいと思いdat$admitます。各回帰には、独自の独立変数と従属変数があります。私が戻したかった結果は、各回帰の要約のリストです: coeff,p-value,AUC. 以下に提出されたデータセットを使用すると、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)

各回帰と係数のリストを表示するこの関数がありますが、AUC と p 値もバインドする方法が見つかりません。コードは次のとおりです。

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

このリストを作成する方法はありますか? ありがとう、ロン

4

1 に答える 1

2

試す

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
于 2014-03-30T11:07:49.897 に答える