ROC曲線を求めるとき、普段使用しているHADには備わっていないため、spssを使用していました。
spssが嫌いなわけではありませんが、高額なこと、使える場所が限られてしまうことから、やや抵抗感がありました。
そこで今回、Rを使ったROC曲線を求める方法を探していたところ、統計ERさんのブログでとてもわかりやすく説明されているのを発見しました。
ただし、この通りに進めてみましたが、dat機能でvariablesが上手く分けられませんでした。もちろん、私の知識の問題がありますが、別の方法で解決できましたので、紹介させて頂きます。現在使用しているRは、「version 4.2.2」です。
「Book1」のcvsファイルをデータとして使用しています。このデータは、BellCurveさんからダウンロートできます。BellCurveさんのファイル名は「ROC-curve-sample-data」です。
このデータのHeadingには、
検査項目:testA
疾患の有無:disease (疾患無しを0、疾患有りを1)
と適当に英語で記載しました。
現在のRversion 4.2.2機能では、日本語で記載すると上手く読み込めなくなる?ためです。
まず、パッケージをインストールします。
install.packages("Epi")
library(Epi)
dat = read.csv("Book1.csv", na.strings="") →ここが統計ERさんと異なるところ
統計ERさんの場合→dat <- read.table("ROC-curve-sample-data.txt")
str(dat)
ROC(test=dat$testA, stat=dat$disease, plot="ROC") #testAが検査の点数で、diseaseが真の分類
ROC(test=dat$testA, stat=dat$disease, plot="sp")
すると、下記のような図がプロットされます。







