# Analizziamo i seguenti dati:
readLines("http://macosa.dima.unige.it/om/prg/r/battit2.txt",n=11)
 [1] "# battiti prima di eventuale corsa di 1 min"                    
 [2] "# battiti dopo"                                                 
 [3] "# fatta corsa (1 si`;0 no; a seconda di esito di lancio moneta)"
 [4] "# fumatore (1 si`;0 no)"                                        
 [5] "# sesso (1 M; 2 F)"                                             
 [6] "# altezza"                                                      
 [7] "# peso"                                                         
 [8] "# attivita` fisica (0 nulla;1 poca;2 media; 3 molta)"           
 [9] "  BatPrima BatDopo Corsa Fumo Sesso Alt Peso Fis"               
[10] "01  64  88 1 0 1 168 64 2"                                      
[11] "02  58  70 1 0 1 183 66 2"
# È una tabella, proviamo ad esaminarne due righe, dopo i commenti
# (salto le 8 righe di commenti)
read.table("http://macosa.dima.unige.it/om/prg/r/battit2.txt",skip=8, nrows=2)
   BatPrima BatDopo Corsa Fumo Sesso Alt Peso Fis
01       64      88     1    0     1 168   64   2
02       58      70     1    0     1 183   66   2
# OK. Leggo "tutta" la tabella e la metto, ad es., nella variabile  dati
# Poiché le righe da saltare iniziano con # (simbolo che in R indica un commento)
# potrei battere  read.table("http://macosa.dima.unige.it/om/prg/r/battit2.txt")
# senza skip=8 poichè le righe verrebbero saltate automaticamente.
dati <- read.table("http://macosa.dima.unige.it/om/prg/r/battit2.txt",skip=8)
# I dati sono separati da uno spazio quindi non devo specificare l'elemento
# di separazione; farei lo stesso se i dati fossero separati da ","; se fossero 
# separati da ";" dovrei aggiungere sep=";"
# Per esaminarli posso visualizzarbe la 'struttura' con str
str(dati)
'data.frame':   92 obs. of  8 variables:
 $ BatPrima: int  64 58 62 66 64 74 84 68 62 76 ...
 $ BatDopo : int  88 70 76 78 80 84 84 72 75 118 ...
 $ Corsa   : int  1 1 1 1 1 1 1 1 1 1 ...
 $ Fumo    : int  0 0 1 1 0 0 0 0 0 0 ...
 $ Sesso   : int  1 1 1 1 1 1 1 1 1 1 ...
 $ Alt     : int  168 183 186 184 176 184 184 188 184 181 ...
 $ Peso    : int  64 66 73 86 70 75 68 86 88 63 ...
 $ Fis     : int  2 2 3 1 2 1 3 2 2 2 ...
# Per un'idea rapida del file posso usare (come già fatto nel caso univariato) "summary"
summary(dati)
    BatPrima         BatDopo        Corsa             Fumo       
 Min.   : 48.00   Min.   : 50   Min.   :0.0000   Min.   :0.0000  
 1st Qu.: 64.00   1st Qu.: 68   1st Qu.:0.0000   1st Qu.:0.0000  
 Median : 71.00   Median : 76   Median :0.0000   Median :0.0000  
 Mean   : 72.87   Mean   : 80   Mean   :0.3804   Mean   :0.3043  
 3rd Qu.: 80.00   3rd Qu.: 85   3rd Qu.:1.0000   3rd Qu.:1.0000  
 Max.   :100.00   Max.   :140   Max.   :1.0000   Max.   :1.0000  
     Sesso           Alt             Peso            Fis       
 Min.   :1.00   Min.   :154.0   Min.   :43.00   Min.   :0.000  
 1st Qu.:1.00   1st Qu.:167.8   1st Qu.:57.00   1st Qu.:2.000  
 Median :1.00   Median :175.0   Median :66.00   Median :2.000  
 Mean   :1.38   Mean   :174.4   Mean   :65.84   Mean   :2.109  
 3rd Qu.:2.00   3rd Qu.:183.0   3rd Qu.:70.25   3rd Qu.:2.000  
 Max.   :2.00   Max.   :190.0   Max.   :97.00   Max.   :3.000
# Posso esaminare le singole variabili. Vediamo come:
altezze <- dati$Alt
summary(altezze)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  154.0   167.8   175.0   174.4   183.0   190.0
int <- seq(150,200,5); hist(altezze,right=FALSE, int)
# Ottengo l'istogramma delle frequenze seguente
# Ma ho due sottopopolazioni diverse per altezza:
datiF <- subset(dati,dati$Sesso==2); datiM <- subset(dati,dati$Sesso==1)
nrow(datiF); nrow(datiM)
[1] 35
[1] 57
# Potrei esaminare i dati con:
# str(datiF); str(datiM)
# summary(datiF); summary(datiM)
# Per confrontare graficamente i dati può essere comodo averli su una stessa
# scala  (per abbreviare, memorizzo alcuni dati con nuove variabili):
M <- datiM$Alt; F <- datiF$Alt
dev.new()
hist(F,int,right=FALSE,angle=45,density=14,xlab="",main="",probability=TRUE,ylim=c(0,0.06),col="red")
hist(M,int,right=FALSE,add=TRUE,angle=135,density=7,xlab="",main="",probability=TRUE,col="blue")