|
|
 |
 |
|
Atlante di AnatomiaUmana |
|
|
|
 |
 |
|
Atlante di Parassitologia |
|
|
|
 |
 |
 |
 |
 |
|
Atlante di Virologia |
|
|
|
Atlante di Ematologia |
|
|
|
Atlante dei protozoi intestinali |
|
|
|
Atlante di citologia e istologia |
|
 |
|
|
 |
 |
|
|
 |
 |
 |
 |
 |
 |
|
 |
 |
 |
 |
 |
|
Informazioni: info@bayes.itScrivimi: webmaster@bayes.it |
|
|
|
Ultimo aggiornamento: 13 maggio 2012
|
|
|
117.194 visitatori dal maggio 2008
|
|
|
|
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.
|
|
|
|
NOTA SUI COLLEGAMENTIALLE 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. |
|
|
|
 |
|
|
|
Le statistiche complete del sito
|
|
|
 |
 |
|
Le funzioni grafiche di R sono trattate assumendo che abbiate familiarizzato adeguatamente con tutti gli argomenti contenuti nella parte preliminare. Attenzione: le indicazioni qui riportate fanno riferimento alla versione di R per Windows©.Per MacOS X© vedere come utilizzare i dati e gli script con MacOS X. Potete imparare facilmente a utilizzare R per generare i principali tipi di grafico, inclusi grafici tridimensionali che possono essere ruotati con il mouse, seguendo gli script e i dati di esempio attualmente raccolti sotto questi argomenti:→ istogrammi e density-plot→ diagrammi a scatola e baffi (box & whiskers plot)→ diagrammi di distribuzione (scatter-plot) e grafici 3D→ diagrammi di correlazione (correlogrammi) → grafici per l’identificazione degli outliers (valori erratici) Attenzione: in alcuni casi gli esempi riportati prevedono l’uso di librerie che sono scaricate automaticamente dal CRAN e installate automaticamente sul PC (questo, ovviamente, solo se è la prima volta che le usate): per questa ragione è necessario essere collegati a Internet. Istogrammi e density-plot → create la cartella C:\R\Densplot\;→ salvate (tasto destro del mouse, Salva con nome...) in questa cartella i file Densplot.txt e Densplot.csv;→ dalla Console di R con File >> Apri script... aprite il file C:\R\Densplot\Densplot.txt nell’Editor di R. I dati contenuti nel file Densplot.csv sono i valori di colesterolo in mg/dL misurati in soggetti di sesso maschile (M) e di sesso femminile (F), dei quali è stata registrata anche l’età (in anni), e sono stati strutturati in questo modo:
|
Sesso
|
Eta
|
Colest
|
|
M
|
13
|
172
|
|
F
|
14
|
132
|
|
M
|
14
|
176
|
|
F
|
15
|
156
|
|
F
|
16
|
190
|
|
……
|
……
|
……
|
|
Il contenuto del file Densplot.csv aperto con un editor di testo come il Blocco note di Windows vi apparirà così, con i nomi delle variabili nella prima riga, e i dati dei singoli casi nelle righe successive: Sesso;Eta;ColestM;13;172F;14;132M;14;176F;15;156F;16;190...;...;... Nel file Densplot.txt è contenuto del codice che vi consente di fare alcune cose molto interessanti. Per vederle una per una eseguite passo passo il codice dello script del primo esempio copiandolo dalla finestra dell’Editor di R nella quale lo avete aperto e incollandolo nella Console di R per eseguirlo (se non viene eseguito premete il tasto invio):→ importa i dati in R mydata <- read.table("c:/R/Densplot/Densplot.csv", header=TRUE, sep=";")→ visualizza i dati nella Console di Rmydata→ traccia un istogramma semplicehist(mydata$Colest, main = "Istogramma", xlab = "Colesterolo totale in mg/dL", ylab = "Frequenza")→ traccia un istogramma semplice, colorato, con 20 classi hist(mydata$Colest, breaks=20, col="red", main = "Istogramma", xlab = "Colesterolo totale in mg/dL", ylab = "Frequenza")→ traccia l’istogramma e vi sovrappone la curva normale corrispondente, attenzione a digitare invio nella finestra della Console di Rx <- mydata$Colesth<-hist(x, breaks=20, col="red", main = "Istogramma", xlab="Colesterolo totale in mg/dL", ylab = "Frequenza")xfit<-seq(min(x),max(x),length=40)yfit<-dnorm(xfit,mean=mean(x),sd=sd(x))yfit <- yfit*diff(h$mids[1:2])*length(x)lines(xfit, yfit, col="blue", lwd=2)→ traccia il diagramma che rappresenta la distribuzione della densità delle osservazioni (kernel density plot), una modalità di rappresentazione superiore a quella del tradizionale istogrammad <- density(mydata$Colest) # dati di densitàplot(d, main = "Istogramma", xlab="Colesterolo totale in mg/dL", ylab = "Densità")→ kernel density plot coloratod <- density(mydata$Colest)plot(d, main = "Istogramma", xlab="Colesterolo totale in mg/dL", ylab = "Densità")polygon(d, col="red", border="blue") Il codice del primo esempio può essere interamente riutilizzato per le vostre specifiche esigenze, ricordando che dovete semplicemente:→ sostituire il nome del file "c:/R/Densplot/Densplot.csv" con quello del vostro file;→ controllare il separatore di campo usato ed eventualmente correggere opportunamente il punto e virgola in sep=";";→ adattare il testo delle legende main=””, xlab=”” e ylab=””;→ cambiare il numero delle classi in cui suddividere i dati (breaks=)→ personalizzare i colori del riempimento (col="") e dei bordi (border=""). Eseguite ora passo passo il codice dello script del secondo esempio copiandolo dalla finestra dell’Editor di R e incollandolo nella Console di R per eseguirlo (se non viene eseguito premete il tasto invio):→ importa i dati in Rmydata <- read.table("c:/R/Densplot/Densplot.csv", header=TRUE, sep=";")→ visualizza i dati nella Console di Rmydata→ traccia kernel density plotlibrary(sm)attach(mydata)Sesso.f <- factor(Sesso, levels= c("M","F"), labels = c("Uomo", "Donna")) # crea la legendasm.density.compare(Colest, Sesso, xlab="Colesterolo totale in mg/dL", ylab="Densità") # traccia il graficotitle(main="Distribuzione del colesterolo totale per sesso") # aggiunge il titolocolfill<-c(2:(2+length(levels(Sesso.f)))) # posiziona la legendalegend(locator(1), levels(Sesso.f), fill=colfill) # posiziona la legenda Come vedete il codice fa una cosa piuttosto interessante: traccia due kernel density plot indipendenti e sovrapposti per i soggetti di sesso maschile (M) e di sesso femminile (F). A questo punto posizionate il mouse nel punto in cui volete che compaia la legenda, e fate click con il tasto sinistro per farla comparire (attenzione: non può essere spostata, per cui se non siete soddisfatti dovete rieseguire l’intero esempio). Ovviamente anche in questo caso il codice può essere interamente riutilizzato personalizzandolo opportunamente, come indicato a proposito del primo esempio. Diagrammi a scatola e baffi (box & whiskers plot) → create la cartella C:\R\Boxplot\;→ salvate (tasto destro del mouse, Salva con nome...) in questa cartella i file Boxplot.txt e Boxplot.csv;→ dalla Console di R con File >> Apri script... aprite il file C:\R\Boxplot\Boxplot.txt nell’Editor di R. I dati contenuti nel file Boxplot.csv sono i valori di IgA che abbiamo visto in un esempio per iniziare. Eseguite passo passo il codice dello script copiandolo dalla finestra dell’Editor di R nella quale lo avete aperto e incollandolo nella Console di R per eseguirlo (se non viene eseguito premete il tasto invio). Si tratta in definitiva di quattro sole righe di codice:→ con la prima riga sono importati i datimydata <- read.table("c:/R/Boxplot/Boxplot.csv", header=TRUE, sep=";")→ con la seconda riga sono tracciati i boxplot delle IgA per ciascuna diagnosiboxplot(IgA~Diagnosi, data=mydata, main="IgA nelle malattie croniche del fegato", xlab="Diagnosi clinica", ylab="IgA in mg/dL", notch=FALSE, col="yellow") → con la terza riga viene forzata una nuova finestra per il secondo graficowindows()→ con la quarta riga sono tracciati i boxplot delle IgA per ciascuna diagnosi con notch (incisura): se le incisure di due boxplot che non si sovrappongono la mediana è significativamente diversaboxplot(IgA~Diagnosi, data=mydata, main="IgA nelle malattie croniche del fegato", xlab="Diagnosi clinica", ylab="IgA in mg/dL", notch=TRUE, col="green") (se iconizzate la finestra di questo secondo grafico, vedete sotto di esso la finestra con il primo) Il fatto interessante è che in questo caso si utilizza una rappresentazione grafica per effettuare un test statistico (confronto tra mediane). Notate infine un “Warning message” che compare nella Console di R, che avverte che in alcuni casi le incisure sono uscite dai bordi della scatola (guardate i boxplot della CAH e della CPH). In questi casi il problema può essere superato o rinunciando a trarre delle conclusioni da questi casi o aumentando il numero delle osservazioni. Diagrammi di distribuzione (scatter-plot) e grafici 3D → create la cartella C:\R\Scatterplot\;→ salvate (tasto destro del mouse, Salva con nome...) in questa cartella i file Scatterplot.txt e Scatterplot.csv;→ dalla Console di R con File >> Apri script... aprite il file C:\R\Scatterplot\Scatterplot.txt nell’Editor di R. I dati contenuti nel file Scatterplot.csv hanno una struttura molto semplice:
|
GR
|
RGO
|
HB
|
HCT
|
HBA2
|
MCV
|
HBF
|
MCH
|
RDW
|
FERRO
|
|
4.9
|
97
|
13.3
|
40.6
|
1.8
|
82.8
|
0.6
|
27.1
|
17.3
|
106
|
|
4.66
|
81
|
10.8
|
34.3
|
2.6
|
73.6
|
1.6
|
23.2
|
21.5
|
148
|
|
5.43
|
57
|
11.5
|
36.1
|
4.8
|
66.5
|
2.5
|
21.1
|
21
|
104
|
|
5.41
|
63
|
10.8
|
39.7
|
2.5
|
73.4
|
1.8
|
20
|
19.9
|
74
|
|
4.94
|
60
|
10.4
|
32.3
|
1.4
|
65
|
0.7
|
21.1
|
23.7
|
17
|
|
….
|
….
|
….
|
….
|
….
|
….
|
….
|
….
|
….
|
….
|
|
Potete anche aprore il file Scatterplot.csv con un editor di testo come il Blocco note di Windows per vedere come è stato salvato fisicamente nel formato csv. Le variabili contenute nel file sono gli eritrociti (GR, in 10^12/L), la resistenza globulare osmotica (RGO, in %), l’emoglobina (HB, in g/dL), l’ematocrito (in %), l’emoglobina A2 (in %), il volume globulare medio (MCV, in fL), l’emoglobina F (in %), l’emoglobina corpuscolare media (MCH, in pg), l’ampiezza della distribuzione dei globuli rossi (Red Distribution Width, in %) misurati in 643 soggetti che includevano soggetti sani e soggetti con beta-talassemia, con alfa-talassemia, con anemia sideropenica. Eseguite passo passo il codice dello script copiandolo dalla finestra dell’Editor di R nella quale lo avete aperto e incollandolo nella Console di R per eseguirlo (se non viene eseguito premete il tasto invio):→ innanzitutto importiamo i datimydata <- read.table("c:/R/Scatterplot/Scatterplot.csv", header=TRUE, sep=";")→ visualizziamo i datimydata→ le seguenti due righe di codice tracciano uno scatterplot sempliceattach(mydata)plot(HBA2, MCV, main="Esempio di Scatterplot", xlab="Emoglobina A2, % ", ylab="Volume globulare medio (MCV), fl ", pch=19)→ come al punto precedente, ma cambia lo stileattach(mydata)plot(HBA2, MCV, main="Esempio di Scatterplot", xlab="Emoglobina A2, % ", ylab="Volume globulare medio (MCV), fl ", pch=1)→ una sola riga di codice traccia lo scatterplot con la matrice completa di tutte le variabilipairs(~GR+RGO+HB+HCT+HBA2+MCV+HBF+MCH+RDW+FERRO, data=mydata, main="Esempio di matrice di Scatterplot, tutte le variabili")→ come al punto precedente, ma con matrice parzialepairs(~GR+HBA2+MCV+MCH,data=mydata, main="Esempio di matrice di Scatterplot, solo alcune variabili")→ altra rappresentazione, notare la nuova libreria car e il parametro diagonal = "none" library(car)scatterplot.matrix(~GR+HBA2+MCV+MCH, reg.line=lm, smooth=TRUE, span=0.5, diagonal = "none", data=mydata)→ come al punto precedente, notare il parametro diagonal = "histogram"library(car)scatterplot.matrix(~GR+HBA2+MCV+MCH, reg.line=lm, smooth=TRUE, span=0.5, diagonal = "histogram", data=mydata)→ altra rappresentazione, notare diagonal = "density" (il parametro diagonal ammette i seguenti valori: "boxplot", "histogram", "oned", "qqplot", "none")library(car)scatterplot.matrix(~GR+HBA2+MCV+MCH, reg.line=lm, smooth=TRUE, span=0.5, diagonal = "density", data=mydata)→ questo scatterplot necessita libreria apposita (gclus), le variabili sono colorate e ordinate in base alla maggiore o minore correlazione evidenziata tra di lorolibrary(gclus)dta <- mydata[c(1,2,3,4,5,6,7,8,9,10)] # recupera i dati dalle colonnedta.r <- abs(cor(dta)) # calcola la correlazionedta.col <- dmat.color(dta.r) # applica i colori# riordina le variabili in modo che quelle meglio correlate siano vicine alla diagonaledta.o <- order.single(dta.r)cpairs(dta, dta.o, panel.colors=dta.col, gap=.5, main="Variabili colorate e ordinate in base alla correlazione")→ scatterplot tridimensionale (3D), necessita libreria appositalibrary(scatterplot3d)attach(mydata)scatterplot3d(HBA2,GR,MCV, main="3D Scatterplot")→ scatterplot 3D a colori con linee verticali, necessita libreria appositalibrary(scatterplot3d)attach(mydata)scatterplot3d(HBA2,GR,MCV, pch=16, highlight.3d=TRUE, type="h", main="3D Scatterplot")→ spinning 3d scatterplot, necessita libreria apposita, potete “afferrarlo” facendo click con il tasto sinistro del mouse (tenetelo premuto senza rilasciarlo), e potete ruotarlolibrary(rgl)attach(mydata)plot3d(HBA2,GR,MCV, col="red", size=3)→ altro Spinning 3d Scatterplot, necessita libreria apposita, potete afferrarlo e ruotarlo - attenzione: quando è stato caricato R Commander fate di nuovo click sulla finestra della Console di R e premete inviolibrary(Rcmdr)attach(mydata)scatter3d(HBA2,GR,MCV) Diagrammi di correlazione (correlogrammi) I grafici che rappresentano il grado di correlazione tra due o più variabili (r di Pearson o altro) sono trattati nel capitolo correlazione (coefficienti di correlazione e correlogrammi) e nel relativo script, al quale si rimanda. Grafici per l’identificazione degli outliers (valori erratici) I grafici con cui è possibile rappresentare i dati evidenziando i possibili valori erratici, e che includono la possibilità, con un click del mouse, di ottenere la immediata identificazione del dato sospetto, sono trattati nella regressione lineare (regressione lineare semplice e regressione lineare multipla): li trovate nel relativo script al punto → identificazione degli outliers. ********************************
|
|
|
|
|
 |
 |
|
Il linguaggio delle misure |
|
|
|
 |
 |
 |
 |
 |
| Manuale Merck di diagnosie terapia |
|
|
Tavole metaboliche |
|
|
|
Errori congeniti del metabolismo |
|
|
|
|
 |
 |
|
Corso base di statistica con R |
|
 |
|
 |
|
 |
|
|
Espressione dei risultati nel laboratorio di chimica clinica |
|
|
 |
 |
|
Le lettureconsigliate |
|
|
 |
 |
|
L’articolo da non perdere...
|
|
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,lo trovate sul sito www.torinoscienza.it |
|
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
|
I migliori libri del mese Leonard Mlodinow La passeggiata dell’ubriaco. Le leggi scientifiche del caso.Rizzoli Editore, 2009, pp. 294. ISBN: 17034081. |
|
|
|
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. |
|
|
|
ebooks... M. BesozziErrori cognitivi, probabilità e decisioni mediche. Applicazioni e utilità del teorema di Bayes nella diagnostica di laboratorio. |
|
|
|
ebooks... Wim P. KrijnenApplied Statistics for Bioinformatics using R |
|
|
|
ebooks... Mauss, Berg, Rockstroh, Sarrazin, Wedemeyer, at al.Hepatology - A clinical textbook. Terza Edizione - 2012 |
|
|
ebooks... Dennis A. NoeThe logic of Laboratory Medicine. |
|
|