> library(MASS)
> data(cats)
> cats[1:10,]
Sex Bwt Hwt
1 F 2.0 7.0
2 F 2.0 7.4
3 F 2.0 9.5
4 F 2.1 7.2
5 F 2.1 7.3
6 F 2.1 7.6
7 F 2.1 8.1
8 F 2.1 8.2
9 F 2.1 8.3
10 F 2.1 8.5
### Sex ~ Bwt and Sex ~ Hwt
# AUC
> install.packages("caTools")
> library(caTools)
> colAUC(cats[,2:3],cats[,1],plotROC=TRUE)
Bwt Hwt
F vs. M 0.8338451 0.759048
# ROC Curves
### Epi 패키지 이용
> library(Epi)
> ROC(form=cats$Sex~cats$Bwt, plot="ROC")
# ROC()는 Bwt, Hwt를 predictor로 넣는게 가능하네요(Sex ~ Bwt + Hwt)
> ROC(form=cats$Sex~cats$Bwt+cats$Hwt, plot="ROC")
### ROC 결과물
> data(cats, package="MASS")
> library(Epi)
> out
$res
sens spec PV+ PV- lr.eta
0.191243960703729 1.00000000 0.00000000 0.6736111 NaN NA
0.193025369106466 0.97938144 0.00000000 0.6690141 0.0000000 0.1912440
0.194459564487476 0.97938144 0.02127660 0.6737589 0.3333333 0.1930254
0.202121627955293 0.97938144 0.04255319 0.6785714 0.5000000 0.1944596
0.255310074155313 0.97938144 0.06382979 0.6834532 0.6000000 0.2021216
0.255746729288057 0.97938144 0.08510638 0.6884058 0.6666667 0.2553101
0.257059632742871 0.97938144 0.10638298 0.6934307 0.7142857 0.2557467
.
.
.
0.994208761189084 0.04123711 1.00000000 1.0000000 0.3357143 0.9910133
0.994467173239425 0.03092784 1.00000000 1.0000000 0.3333333 0.9942088
0.995896529418839 0.02061856 1.00000000 1.0000000 0.3309859 0.9944672
0.99643076153607 0.01030928 1.00000000 1.0000000 0.3286713 0.9958965
0.00000000 1.00000000 1.0000000 0.3286713 0.9964308
$AUC
[1] 0.8329678
$lr
Call: glm(formula = form, family = binomial)
Coefficients:
(Intercept) cats$Bwt cats$Hwt
-8.69896 3.55391 0.02295
Degrees of Freedom: 143 Total (i.e. Null); 141 Residual
Null Deviance: 181.9
Residual Deviance: 132.2 AIC: 138.2
### logistic regression 결과와 동일
> out2=glm(factor(Sex)~Bwt+Hwt,data=cats,family=binomial)
### lr.eta는 p의 추정치
> fitted(out2)
### 추정치를 데이터 cats에 pred라는 변수로 추가. 이 pred가 lr.eta입니다. lr이 Logistic Regression의 약자인듯합니다.
> cats$pred=fitted(out2)
> head(cats)
Sex Bwt Hwt pred
1 F 2.0 7.0 0.1930254
2 F 2.0 7.4 0.1944596
3 F 2.0 9.5 0.2021216
4 F 2.1 7.2 0.2553101
5 F 2.1 7.3 0.2557467
6 F 2.1 7.6 0.2570596
댓글
댓글 리스트-
작성자potassium 작성시간 11.09.22 아하. 그렇군요. 매번 감사합니다.
-
작성자김은주 작성시간 14.08.26 Epi 패키지 install한 후에 ROC 함수를 돌렸는데 (out1=ROC(form=na$group~na$sex+na$age+na$BMI+na$SBP+na$DBP+na$AST+na$ALT+na$Glucose+na$Uricacid+na$TG+na$HDL+na$LDL) ROC function을 찾을 수 없다는 에러가 뜨네요.. 뭐가 잘못된걸까요?
-
답댓글 작성자안재형 작성자 본인 여부 작성자 작성시간 14.08.26 library(Epi) 하셨나요?
-
답댓글 작성자kejjjj 작성시간 14.08.27 안재형 너무 기초적인 실수를햇네요.. R을 처음 다뤄봐서 ^^ 감사합니다!!
-
답댓글 작성자안재형 작성자 본인 여부 작성자 작성시간 14.08.27 kejjjj 저두 가끔 빼먹어요^^