Indice
Tabelle di contingenza
Le tabelle di contingenza presentano le frequenze congiunte di due variabili categoriali: ovvero, per ciascuna cella, il numero di casi che corrisponde ad entrambe le modalità di riga e di colonna.
La funzione table()
può essere utilizzata anche per costruire tabelle di frequenza e tabelle a più entrate.
Vedi anche:
Valori assoluti
table(x, y)
Usando il comando table()
in questo modo per costruire una tavola di contingenza, la prima variabile sarà messa in riga, la seconda in colonna.
# dati data(SLID, package = "carData") # tabella di contingenza table(SLID$language, SLID$sex)
## Female Male ## English 2999 2717 ## French 262 235 ## Other 564 527
La tabella non include i valori mancanti, e i marginali (totali di riga e di colonna).
Valori relativi
Con il comando prop.table()
si ottiene la tabella dei valori relativi o percentuali.
# creo la tabella tab1 tab1 <- table(SLID$language, SLID$sex) # frequenze relative prop.table(tab1)
## Female Male ## English 0.41059693 0.37198795 ## French 0.03587076 0.03217415 ## Other 0.07721796 0.07215225
Per avere le frequenze relative di riga o di colonna:
# di riga prop.table(tab1, margin = 1) # di colonna prop.table(tab1, margin = 2)
Anche in questo caso, mancano le distribuzioni marginali.
Valori percentuali
con prop.table()
Moltiplicando per 100 la tavola precedente, si ottengono i valori percentuali:
# percentuali prop.table(tab1) * 100
## prop.table(tab1) * 100 ## ## Female Male ## English 41.059693 37.198795 ## French 3.587076 3.217415 ## Other 7.721796 7.215225
Per l'arrotondamento, usiamo la funzione round():
# di colonna, con arrotondamento round(prop.table(tab1, margin = 2) * 100, 1)
## round(prop.table(tab1, margin = 2) * 100, 1) ## ## Female Male ## English 78.4 78.1 ## French 6.8 6.8 ## Other 14.7 15.1
Funzioni del pacchetto LabRS
Il pacchetto accompagna il libro *“Ricerca sociale con R”* ed è disponibile da CRAN e su GitHub (le istruzioni per installarlo sono alla pagina LabRS.
Per facilitare la costruzione di tabelle di contingenza, il pacchetto LabRS mette a disposizione due funzioni: percent()
e tabcont()
.
funzione percent
Nel pacchetto LabRS è disponibile la funzione percent()
. A differenza della funzione ctab()
viene prodotto *solo il vettore* delle percentuali, e non una tabella completa (quindi può essere usata per ulteriori elaborazioni).
# carico il pacchetto library(LabRS) # percentuali complessive percent(tab1) # di colonna, con arrotondamento percent(tab1, margin = 2, digits = 1)
Statistiche descrittive della tabella
Script di esempio
E' possibile scaricare ed eseguire lo script dell'esempio:
- Tabelle_contingenza.R
data(SLID, package = "carData") table(SLID$language, SLID$sex) # creo la tabella tab1 tab1 <- table(SLID$language, SLID$sex) # frequenze relative prop.table(tab1) # di riga prop.table(tab1, margin = 1) # di colonna prop.table(tab1, margin = 2) # percentuali prop.table(tab1) * 100 # di colonna, con arrotondamento round(prop.table(tab1, margin = 2) * 100, digits = 1) # percent library(LabRS) percent(tab1) percent(tab1, margin = 2, digits = 1)