Rescaling boxplot with R

R è un software fenomenale, ed i grafici di R sono eleganti, belli e soprattutto informativi. Ma non è di questo che voglio parlare.

Scenario: Avete dei dati di tipo quantitavo, tipo delle frequenze e volete visualizzarli per capire come sono distribuiti. Ovviamente vi serve un modo per farlo.

Quello che volete è un box plot. 🙂

Importing data:

Con R importare un set di dati separati da tab come questi:

term freq
nitrite/creatinine 2
irration 3
nmole/mumole 4
asid 5
hydrocorphin 6
gln74 7
sidegroups 8
perispindle 9
procline 10
airtract 11
na2autm 12
dptp99a 13
mbmass 14
sr233377 15
pyrocarbon 16
antiamoebin 17
sh3px1 18
thr50 19
visioning 20
swgdam 21

è abbastanza semplice:
data <- read.csv(file="nome_file", sep="t")

ora se volete visualizzare i dati basta dare un
data
e tutti i vostri dati saranno visualizzati. Se sono troppi per essere visualizzati tutti insieme, le funzioni head() and tail() Potranno esservi utili.

Ora volete plottare i vostri dati in un box plot. Come fare?
boxplot(data$freq, main="Medline frequent term")
ed automaticamente vi si aprirà una finestra dove ci sarà il vostro grafico. Da notare che abbiamo indicato la colonna numero 2 (quella delle frequenze) usando l’intestazione :). Very handy.

plot ex 1

Tuttavia come vedete, le frequenze dei dati sono molto differenti tra loro, quindi un plot con una scala diversa potrebbe essere + interessante. Come?
plot <- boxplot(data_t_1$freq, col="lightblue", ylim=c(1,50000))

plot ex 2

Il boxplot prende, come scala, un vettore ylim=c(1,50000).

Se volete vedere le stats del vostro grafico, sono tutte dentro l’oggetto plot

> plot
$stats
[,1]
[1,] 2.0
[2,] 2378.5
[3,] 6203.0
[4,] 20226.0
[5,] 46960.0
attr(,"class")

...

1 Comment

  1. Scusa perche’ non usi root (root.cern.ch) ? I grafici sono piu’ belli, le capacita’ statistiche-analitiche del software sono ordini di grandezza piu’ avanti… bhe’ non per niente l’analisi dati della quasi totalita’ di esperimenti di fisica subnucleare e’ fatta con root. Solo un consiglio… perfavore compila non interpretare: l’interprete c++ cint-root causa un bel po’ di problemi!!

Leave a Reply