Questa è una vecchia versione del documento!
Tabelle
In costruzione
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 delle tabelle di frequenza, il pacchetto LabRS mette a disposizione due funzioni: `percent()` (vedi) e `tabfreq()` (vedi). Per le tabelle di contingenza, è disponibile la funzione `tabcont()` (vedi).
percent
A differenza della funzione ctab() viene prodotto *solo il vettore* delle percentuali:
# carico il pacchetto library(LabRS) # dati data(SLID, package = "carData") # creo la tabella tab1 tab1 <- table(SLID$language) # percentuali percent(tab1)
## English French Other ## 78.258488 6.804491 14.937021
# con un decimale percent(tab1, digits = 1)
## English French Other ## 78.3 6.8 14.9
tabfreq
La funzione `tabfreq` consente di produrre una tabella di frequenza con:
- il totale dei casi validi (esclusi i casi mancanti), ovvero la base di calcolo delle percentuali;
- il numero dei casi con valori mancanti, sotto il totale (la percentuali di casi validi è calcolata sul totale del campione);
- due decimali per le percentuali.
# tabfreq tabfreq(SLID$language)
``` ## N % ## English 5716 78.26 ## French 497 6.80 ## Other 1091 14.94 ## Totale 7304 100.00 ## NA 121 0.02 ```
E' possibile scegliere se avere o no i totali (argomento `totali`) e il numero dei decimali, sempre con `digits`:
tabfreq(SLID$language, digits = 1, totali = FALSE)
``` ## N % ## English 5716 78.3 ## French 497 6.8 ## Other 1091 14.9 ```
tabcont
Con la funzione tabcont() si ottiene, per default una tabella di contingenza con le frequenze percentuali di colonna, e i totali in valore assoluto (un formato standard):
# tabcont: di colonna, con arrotondamento tabcont(SLID$language, SLID$sex)
È possibile usare gli argomenti margin (di riga o colonna), digits (numero dei decimali) e totali:
# di riga, senza totali in valore assoluto tabcont(SLID$language, SLID$sex, margin = 1, digits = 2, totali = FALSE)
## Female Male ## English 52.47 47.53 ## French 52.72 47.28 ## Other 51.70 48.30 ## Totale 52.26 47.74
Script di esempio
- tabelle_labrs.R
# carico il pacchetto library(LabRS) # dati data(SLID, package = "carData") # creo la tabella tab1 tab1 <- table(SLID$language) # percent percent(tab1) # con un decimale percent(tab1, digits = 1) # tabfreq tabfreq(SLID$language) tabfreq(SLID$language, digits = 1, totali = FALSE) # tabcont: di colonna, con arrotondamento tabcont(SLID$language, SLID$sex) # di riga, senza totali, tabcont(SLID$language, SLID$sex, margin = 2, digits = 2, totali = F)
Pacchetto pivottabler
Tabelle pivot come in Excel.
- pivot_ht.R
# carico il pacchetto library(pivottabler) # dati data(SLID, package = "carData") # metodo veloce, formato testo qpvt(SLID, "language", "sex", "n()") # metodo veloce, formato html qhpvt(SLID, "language", "sex", "n()") # metodo veloce, formato latex qlpvt(SLID, "language", "sex", "n()") # da formato testo a dataframe per esportazione pt <- qpvt(SLID, "language", "sex", "n()") pt$asDataFrame()
## Inserire le tabelle in un report
### pivottable
