New01   Prova il nuovo sito (fai click sull’immagine)      
StaR700
 
 
 
 
Scaricate e salvate nella cartella C:\R\ i file CurveROC.csv e CurveROCbis.csv. Il contenuto di entrambi i file aperto con un editor di testo come il Blocco note di Windows vi apparirà così (cambiano solamente i valori), con i nomi delle variabili nella prima riga e i dati dei singoli casi nelle righe successive:
 
predictions;labels
19;0
22;0
22;1
24;1
24;1
26;0
 
La variabile “predictions” contiene i valori misurati (in questo caso il risultato numerico di una analisi di laboratorio) mentre la variabile “labels” contiene la classificazione dei casi, e riporta 0 per i controlli (soggetti sani) e 1 per i soggetti malati. Come separatore di campo viene utilizzato il punto e virgola (;).
 
Da notare che  sono utilizzate la libreria pROC e la libreria sm che, se non lo avete ancora fatto, dovete scaricare dal CRAN prima di eseguire l’esempio (in caso contrario si verificherà un errore nell’esecuzione del codice laddove è previsto l’utilizzo delle librerie). Copiate e incollate nella Console di R questo codice ed eseguitelo soffermandovi sui singoli passaggi:
 
# sono importati i dati
mydata <- read.table("c:/R/CurveROC.csv", header=TRUE, sep=";")
# nome delle variabili in mydata
names(mydata)
# lista dei primi 10 casi di mydata
head(mydata, n=10)
# lista degli ultimi 5 casi di mydata
tail(mydata, n=5)
# utilizza la libreria pROC
library(pROC)
attach(mydata)
# traccia la curva ROC e calcola l'area sotto la curva (auc)
roc(mydata$labels, mydata$predictions, smooth = FALSE, auc = TRUE, ci = FALSE, plot = TRUE, identity = TRUE, main = "Curva ROC", xlab="1-specificità", ylab = "Sensibilità")
#
Ecco il grafico della curva ROC che viene prodotto CurvaROC_small
 
Con il codice che segue sono calcolate le statistiche della curva ROC:
 
# intervallo di confidenza al 95% dell'area sotto la curva, metodo di DeLong
ci.auc(mydata$labels, mydata$predictions, conf.level = 0.95)
# intervallo di confidenza al 95% della sensibilità per valori di specificità da 0 a 1 con passo 0.1
ci.se(mydata$labels, mydata$predictions, specificities=seq(0,1,.1), conf.level = 0.95, boot.n = 100)
# intervallo di confidenza al 95% della specificità per valori di sensibilità da 0 a 1 con passo .1
ci.sp(mydata$labels, mydata$predictions, sensitivities=seq(0,1,.1), conf.level = 0.95, boot.n = 100)
# calcola il miglior valore soglia tra sani e malati e l'intervallo di confidenza al 95% della sensibilità e della specificità corrispondenti
ci.thresholds(mydata$labels, mydata$predictions, thresholds="best", conf.level = 0.95, boot.n = 100)
# calcola per le principali grandezze i valori corrispondenti al valore soglia tra sani e malati
myroc <-roc(mydata$labels, mydata$predictions, plot = FALSE)
coords(myroc, "best", best.method = "youden", ret=c("threshold", "specificity", "sensitivity", "accuracy", "tn", "tp", "fn", "fp", "npv", "ppv"))
#
Per la migliore comprensione delle grandezze calcolate si rimanda alla documentazione della libreria pROC.
 
Un grafico che mostra, sovrapposte, le distribuzioni dei valori nei sani e nei malati aiuta certamente nella lettura dei dati:
 
# traccia kernel density plot sovrapposti dei valori osservati per controlli sani (0) e malati (1)
library(sm)
attach(mydata)
# attenzione il primo "labels" è la variabile che contiene i valori osservati il secondo "labels" sono le etichette da applicare come legenda
myplot <- factor(labels, levels= c("0","1"), labels = c("Sani", "Malati"))
# traccia i due grafici sovrapposti
windows() # apre una nuova finestra
sm.density.compare(predictions, labels, xlab="Valori osservati", ylab="Densità")
title(main="Distribuzione dei valori nei due gruppi")
# aggiunge la legenda: posizionarsi dove la si desidera fare comparire e fare click con tasto sinistro del mouse
colfill<-c(2:(2+length(levels(myplot))))
legend(locator(1), levels(myplot), fill=colfill)
#
Il codice traccia due kernel density plot indipendenti e sovrapposti dei valori osservati nei controlli sani e nei malati e rimane in attesa. A questo punto posizionate il mouse dove volete che compaia la legenda, e fate click con il tasto sinistro per farla comparire.  KernelROC_small
 
A questo punto ricordate che con l‘istruzione windows() avete aperto una nuova finestra, quindi avete un totale di due finestre, con altrettanti grafici, sovrapposte. Spostate o iconizzate la finestra dell’ultimo grafico per vedere la finestra con il grafico precedente.
 
Ora copiate e incollate nella Console di R ed eseguite questo codice, con il quale sono importate due serie di dati, le cui curve ROC sono poi sovrapposte sullo stesso sistema di assi cartesiani:
 
# importa i dati per le due curve ROC
mydata <- read.table("c:/R/CurveROC.csv", header=TRUE, sep=";")
mydatabis <- read.table("c:/R/CurveROCbis.csv", header=TRUE, sep=";")
library(pROC)
# traccia la prima curva ROC
roc(mydata$labels, mydata$predictions, smooth = FALSE, auc = TRUE, ci = FALSE, plot = TRUE, identity = FALSE, main = "Curve ROC sovrapposte", xlab="1-specificità", ylab = "Sensibilità")
# traccia la seconda curva ROC
roc(mydatabis$labels, mydatabis$predictions, smooth = FALSE, auc = TRUE, ci = FALSE, plot = TRUE, add = TRUE, col = "red", lty = 4)
#
L’argomento add = TRUE consente, quando viene tracciata la seconda curva ROC, di sovrapporla alla prima. Inoltre specificando il colore col = "red" e la linea tratteggiata lty = 4 le due curve ROC possono essere meglio distinte.  CurveROC_small1
 
Rimando chi fosse interessato ad approfondire questo tema al paragrafo del sito che ho preparato per illustrare basi storiche e significato delle curve ROC.
 
 
 
 
 
********************************
 
 

Curve ROC

Ultimo aggiornamento: 20 maggio 2019

DNA_0527s
Bayes
 
NOTA SUI COLLEGAMENTI
ALLE FONTI BIBLIOGRAFICHE
 
La maggior parte dei collegamenti ad articoli scientifici riportati nel sito fa riferimento a riviste online che forniscono gratuitamente l’articolo originale. In alcuni casi è necessario registrarsi sul sito per avere libero accesso agli articoli: questo accade per esempio con il BMJ. Quando i collegamenti  fanno riferimento a fonti bibliografiche a pagamento, chi non ha sottoscritto un abbonamento con la rivista potrebbe vedere comparire un messaggio del tipo “access forbidden”, ma il più delle volte vedrà comparire una pagina che consente di acquistare online l’articolo originale.
 
 

Informazione diagnostica e curve ROC

Teorema di Bayes e medicina basata sull’evidenza (EBM)

 I migliori  02  scelti per voi...

FreeBooks4Doctors
Corso di Epidemiologia
The Medical Biochemistry Page
Download02

Programma di statistica Ministat (versione per Windows)

Cornice_300
Programma di statistica Open Source R
(per Linux, Mac OS X e Windows)
Calcolo degli intervalli di confidenza di sensibilità, specificità, valore predittivo, likelihood ratio
The_Merck_Manual
Manuale Merck di diagnosi
e terapia

         L’articolo da non perdere...    

IEoMet
Errori congeniti del metabolismo
I migliori libri del mese
 
Leonard Mlodinow
   La passeggiata dell’ubriaco. Le leggi scientifiche del caso.
Rizzoli Editore, 2009, pp. 294
ISBN: 17034081
OpenOffice, la suite Open Source (per Linux, Mac OS X e Windows)

Senza dati di appropriatezza i tagli indiscriminati sono inevitabili

ebooks...
 
Mauss, Berg, Rockstroh, Sarrazin, Wedemeyer, at al.
Hepatology - A clinical textbook. Nona Edizione - 2018
Westgard QC

 eGFR o creatinina nel siero?

Le letture
consigliate
Book-03-june
Inprimopianochiaro
Atlante di anatomia del Bock
Atlante di anatomia
Tavole metaboliche
Tavole metaboliche
Informazioni: info@bayes.it
Scrivimi: webmaster@bayes.it

Per la riproduzione dei contenuti del sito è necessario il permesso dell’Autore

NOTA LEGALE
 
L’interpretazione dei risultati delle analisi di laboratorio deve essere effettuata esclusivamente dal medico e alla luce dei dati clinici.
Questo sito ha uno scopo esclusivamente educativo e formativo. Pertanto le informazioni in esso contenute possono essere utilizzate esclusivamente a scopo didattico, e anche in questo caso sotto la responsabilità personale di chi le utilizza, sia per sé stesso sia per terzi.
Le informazioni contenute in questo sito non possono e non devono essere utilizzate né a scopo diagnostico, né a scopo prognostico, né a scopo terapeutico, né per qualsiasi attività che abbia un impatto sia diretto sia indiretto sullo stato di salute di  un individuo o di più individui.
Nessuna responsabilità può essere imputata all’autore per danni diretti o indiretti e di qualsivoglia natura che potrebbero essere causati a sé stessi o a terzi a causa di errori, imprecisioni, omissioni, interpretazioni o utilizzo dei contenuti di questo sito o dei siti cui esso fa riferimento.

 

ebooks...
 
Wim P. Krijnen
Applied Statistics for Bioinformatics using R

 eGFR, riflessioni critiche  [b]

 eGFR, indagine in Piemonte  [b]

Le statistiche del sito

E ora che i test genetici sono alla portata di tutti?
Con meno di mille euro è possibile comprare un test genetico su Internet: si manda un piccolo campione di cellule e poi si aspetta la risposta. Ma... a che cosa serve la risposta? Un dossier di Marika De Acetis dall’Archivio storico del sito www.torinoscienza.it
[Home] [Errori cognitivi] [Epistemologia] [Teorema di Bayes] [Decisioni mediche] [Le basi biochimiche]
[Analisi tradizionali] [Analisi genetiche] [Qualità in laboratorio] [Statistica e laboratorio]
[Storia delle medicina] [Download] [Link] [Bacheca] [FAQ] [Chi sono]
BuiltWithNOF
 Attualità in tema di eGFR:

Esercizi di statistica

I migliori libri del mese
 
  Giovanni Federspil
   Logica clinica. I principi del metodo in medicina.
McGraw-Hill, 2004, pp. 368
ISBN: 88 386 2984-6

Regressione lineare parametrica con quattro modelli inclusa la regressione di Deming

ebooks...
 
Dennis A. Noe
The logic of Laboratory Medicine.
Atlante di virologia
Virus2
390.620  visitatori
da settembre 2008 a dicembre 2018

Gradi centigradi o gradi Celsius?

ebooks...
 
M. Besozzi
Errori cognitivi, probabilità e decisioni mediche.
 
Fate click sul titolo o scaricate il testo su tablet o smartphone con il codice a barre riportato qui sotto.
 
ECPEDM
Atlante del protozoi
Atlante dei protozoi intestinali
Citologia e istologia
Atlante di citologia e istologia
Statistica e New01grafica con R
Espressione dei risultati nel laboratorio di chimica clinica
Espressione dei risultati
   NIST/SEMATECH   e-Handbook of Statistical Methods
Pathology outlines
PathologyOutlines
GraysAnatomy
Atlante di anatomia del Gray
Atlante di ematologia
Atlante di ematologia
Entamoeba coli1
Atlante di parassitologia
Micobatteriologia
clinica
Micobatteriologia

Spurious correlations

Concetti, metodi e strumenti per una
pensierocritico70
buona informazione
R
LTO_75
Cerca nel sito...
ebooks...
 
M. Vidali - M. Besozzi
Statistica con R
per il laboratorio
di analisi cliniche.
 
Fate click sul titolo o scaricate il testo su tablet o smartphone con il codice a barre riportato qui sotto.
 
SCR
I migliori libri del mese
 
Luigi Tesio
   I bravi e i buoni.
Perché la medicina clinica può essere una scienza.
Il Pensiero Scientifico Editore, 2015, pp. 216
 ISBN: 978-88-490-0538-7
Gli inganni della correlazione:
New01
logo_INRIM_229_2017
SI_2
Storia delle unità di misura
New01