Qui (per R) o qui (per altro softeare) puoi recuperare le altezze rilevate ad una visita di leva in Italia del 1987. Analizzalo statisticamente (tracciane l'istogramma, il boxplot, calcola media e mediana, ...). |
Prima vediamo come analizzarlo con degli script online. Poi vedremo come si potrebbe impiegare il programma R.
Impieghiamo lo script histogram: apro il file in cui sono presenti i dati, li copio e li incollo nello script. Ottengo,con diverse scelte degli intervalli (e usando anche la versione "tighter rectangles"):
Con lo script box-plot, introdotti gli stessi dati, ottengo:
Viene evidenziata la mediana e sono evidenziati 1º e 3º quartile (la parte arancione centrale). Vengono evidenziati anche il 5º e il 95º percentile.
Box-plot, istogramma e il confronto tra le distanze della mediana dal 5º e dal 95º percentile evidenziano che l'istogramma (a differenza di quello dei pesi) ha un andamento pressocché simmetrico. Per riflettere sulle differenze rispetto all'istogramma dei pesi prova ad affrontare l'esercizio 5.11).
Puoi salvare il file sul tuo computer o puoi caricarlo direttamente con R.
source("http://macosa.dima.unige.it/r.R") ## Leggo le prime righe del file readLines("http://macosa.dima.unige.it/om/esr/sta/altezze.txt",n=3) # [1] "# dati da visite arruolamento in Marina (1997, primi contingenti): # altezza (troncata ai cm e scalata di 100)" # [2] "73 70 74 79 66 69 66 79 75 65 70 71 69 71 68 75 67 75 65 68 75 76 85 91" # [3] "73 70 74 79 66 69 66 79 75 65 70 71 69 71 68 75 67 75 65 68 75 76 85 91" ## Ho capito come caricare il file (salto la 1^ riga) altezze = scan("http://macosa.dima.unige.it/om/esr/sta/altezze.txt",skip=1) # Read 4170 items str(altezze) # num [1:4170] 73 70 74 79 66 69 66 79 75 65 ... ## Devo aggiungere 1/2 ai dati, essendo essi troncati; aggiungo poi 100!!! altezze = altezze+1/2+100 BF=3; HF=2.5 noClass=1; histogram(altezze) # [the distance of the sides of the grid is 2.5 %] # Frequencies and percentage freq.: # 1, 1, 13, 201, 721, 1195, 1152, 643, 204, 37, 2 # 0.02,0.02,0.31,4.82,17.29,28.66,27.63,15.42,4.89,0.89,0.05 gridVC(seq(0,200,5), 1); GridVC(seq(0,200,10), 1); abovex("cm") underx2("altezze - leva - Italia, 1987") Point(mean(altezze),0, "red") # For other statistics use the command morestat() or statistics(...) BF=2.6; HF=1.2 statistics(altezze) # Min. 1st Qu. Median Mean 3rd Qu. Max. # 147.5 170.5 174.5 174.9 179.5 196.5 # The brown dots are 5^ and 95^ percentiles # The red dot is the mean |
|
# Volendo nella scala verticale le frequenze "unitarie" invece che degli intervalli: max( hist(altezze, probability=TRUE, plot=FALSE)$density ) # [1] 0.05731415 BF=3; HF=2.5 Plane(145,200, 0, 0.06) noClass=1; hist(altezze, probability=TRUE, add=TRUE, col="grey") abovex("altezze - leva - Italia, 1987"); POINT(mean(altezze),0,"blue") # Ottengo l'istogramma sopra a destra |