Ricerca Sociale con R

Una wiki per l'analisi dei dati con R

Strumenti Utente

Strumenti Sito


A breve mini webinar su YouTube , ad accesso libero. Info - email
r:howto:tabelle

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).

Documentazione e aiuto

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

pivottabelle_ht.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.

Home page del progetto

Documentazione e aiuto

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

r/howto/tabelle.txt · Ultima modifica: 28/10/2020 09:31 da admin