Questo blog, che ha scovato e segnalato Stefano, mi sembra molto interessante.
Perche’ fa un paio di conti con dei dati ufficiali. E plotta una paio di grafici interessanti …
An Eye to the World, an Eye to the Net
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.
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))
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")
...