setwd("D:/logreg/")
data <- read.table("data.txt", sep = ",", header = TRUE)
data <- data[, 1:5]
# Задаем факторы.
data[, c(1, 3:5)] <- lapply(data[, c(1, 3:5)], as.factor)
Предиктор - методика
fit <- glm(группа ~ методика, family = binomial(link = "logit"), data = data)
summary(fit)
##
## Call:
## glm(formula = группа ~ методика, family = binomial(link = "logit"),
## data = data)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.99783 -0.61352 0.02096 0.83613 1.43882
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -2.55301 0.45079 -5.663 1.48e-08 ***
## методика 0.48918 0.07698 6.355 2.09e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 249.53 on 179 degrees of freedom
## Residual deviance: 193.53 on 178 degrees of freedom
## AIC: 197.53
##
## Number of Fisher Scoring iterations: 4
library(ROCR)
## Loading required package: gplots
##
## Attaching package: 'gplots'
## The following object is masked from 'package:stats':
##
## lowess
pred <- predict(fit, newdata = data, type = "response")
pr <- prediction(pred, data$группа)
prf <- performance(pr, measure = "tpr", x.measure = "fpr")
plot(prf)

auc <- performance(pr, measure = "auc")
auc <- auc@y.values[[1]]
auc
## [1] 0.7680864
Предикторы - методика + три переменные
fit <- glm(группа ~ ., family = binomial(link = "logit"), data = data)
summary(fit)
##
## Call:
## glm(formula = группа ~ ., family = binomial(link = "logit"),
## data = data)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.76676 -0.48502 -0.04623 0.74480 1.81180
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -3.06332 0.55664 -5.503 3.73e-08 ***
## методика 0.32747 0.09269 3.533 0.000411 ***
## дихотом11 0.82448 0.41452 1.989 0.046703 *
## дихотом21 1.54216 0.41898 3.681 0.000233 ***
## порядковая1 0.36942 0.52253 0.707 0.479576
## порядковая2 1.88240 0.61178 3.077 0.002092 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 249.53 on 179 degrees of freedom
## Residual deviance: 160.41 on 174 degrees of freedom
## AIC: 172.41
##
## Number of Fisher Scoring iterations: 5
library(ROCR)
pred <- predict(fit, newdata = data, type = "response")
pr <- prediction(pred, data$группа)
prf <- performance(pr, measure = "tpr", x.measure = "fpr")
plot(prf)

auc <- performance(pr, measure = "auc")
auc <- auc@y.values[[1]]
auc
## [1] 0.8666667