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"):


n=4170   min=47   max=96   1^,3^ quartile, diff.: 70 79  9   median=74   mean=74.42326139088729

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