Statistica descrittiva Principali istruzioni di R per l`analisi descrittiva

Download Report

Transcript Statistica descrittiva Principali istruzioni di R per l`analisi descrittiva

Statistica descrittiva
Principali istruzioni di R per l’analisi descrittiva di tabelle di contingenza
La principali istruzioni sono le seguenti.
- table per costruire tabelle a una, due o tre vie con le frequenze assolute. La prima variabile `e scritta
sulle righe, la seconda sulle colonne e la terza su diverse tabelle a due vie.
Esempio
> t1=table(SEX,ACTIVITY,SMOKES)
> t1
, , SMOKES = 1
, , SMOKES = 2
ACTIVITY
SEX 0 1 2
1 1 2 13
2 0 1 6
ACTIVITY
SEX 0 1 2 3
1 0 3 22 12
2 0 3 20 4
3
4
1
- margin.table(t,n) Costruisce le frequenze marginali della tabella t per il margine n.
> margin.table(t1, 1)
SEX
1 2
57 35
> margin.table(t1, 2)
ACTIVITY
0 1 2 3
1 9 61 21
> margin.table(t1, 3)
SMOKES
1 2
28 64
- prop.table(t) L’argomento t `e una tabella con le frequenze assolute. Costruisce le corrispondenti frequenze relative, cio`e la distribuzione congiunta. Pu`o essere utile scrivere le frequenze relative in forma
percentuale e arrotondare i dati.
Esempio:
> prop.table(table(SEX,SMOKES))
> round(prop.table(table(SEX,SMOKES))*100,2)
SMOKES
SEX
1
2
1 0.21739130 0.40217391
2 0.08695652 0.29347826
SMOKES
SEX
1
2
1 21.74 40.22
2 8.70 29.35
- prop.table(t,n) Costruisce la distribuzione condizionata al margine n.
Esempio:
> prop.table(table(SEX,SMOKES),1)
> round(prop.table(table(SEX,SMOKES),1)*100,2)
SMOKES
SEX
1
2
1 0.3508772 0.6491228
2 0.2285714 0.7714286
SMOKES
SEX
1
2
1 35.09 64.91
2 22.86 77.14
1
ATTENZIONE: le istruzioni prop.table e margin.table prevedono una tabella (o una matrice) come argomento. Se la tabella di contingenza `e stata “letta” con l’istruzione read.table costruendo cos`ı un data frame
come nell’esempio del melanoma maligno delle dispense bisogna trasformare il data frame in matrice, come
indicato sotto.
> tumore= read.table(textConnection(dati),header=TRUE,row.names=1,sep = "&" )
> str(tumore)
'data.frame':
$ testa.collo:
$ tronco
:
$ estremita :
4 obs. of 3 variables:
num 22 16 19 11
num 2 54 33 17
num 10 115 73 28
> margin.table(tumore,1)
Error in margin.table(tumore, 1) : 'x' is not an array
> tab_tumore=as.matrix(tumore)
> margin.table(tab_tumore,2)
testa.collo
tronco
estremita
68
106
226
2