Ricerca Sociale con R

Una wiki per l'analisi dei dati con R

Strumenti Utente

Strumenti Sito


Il Laboratorio di Analisi dei Dati con R, dell'Università di Teramo su piattaforma Meet, inizia il 9 aprile 2021 - Iscrizione - email
r:comandi:ftable

ftable

Questa funzione crea tavole di contingenza “piatte”, ossia flat - da cui il nome ftable.

Funzione

ftable(x, ...)
 
## Default S3 method:
ftable(..., exclude = c(NA, NaN), row.vars = NULL,
       col.vars = NULL)

Parametri

x uno o più fattori o liste; oggetti di tipo table; i vettori numerici saranno trattati come fattori (ovvero ogni valore verrà trattato come una modalità)
row.vars Variabili di riga
col.vars Variabili di colonna

I valori mancanti vengono esclusi di default.

Esempi

Due variabili

Con due variabili, la tabella risultante è sostanzialmente simile a quella che si ottiene con table:

> table(farms$Manag,farms$Use)
    
     U1 U2 U3
  BF  1  1  1
  HF  2  1  2
  NM  4  1  1
  SF  0  5  1

> ftable(farms$Manag,farms$Use)
    U1 U2 U3
            
BF   1  1  1
HF   2  1  2
NM   4  1  1
SF   0  5  1

La prima variabile indicata nel comando è in riga, la seconda in colonna.

Se si utilizzano i parametri row.vars e col.vars, il risultato riporta i nomi delle variabili:

> ftable(farms, row.vars = "Manag", col.vars = "Use")
      Use U1 U2 U3
Manag             
BF         1  1  1
HF         2  1  2
NM         4  1  1
SF         0  5  1

Con tre o più variabili

Con tre o più variabili, si apprezza la differenza:

> table(farms$Manag,farms$Use,farms$Manure)
, ,  = C0

    
     U1 U2 U3
  BF  0  0  0
  HF  0  0  0
  NM  4  1  1
  SF  0  0  0

, ,  = C1

    
     U1 U2 U3
  BF  1  0  1
  HF  1  0  0
  NM  0  0  0
  SF  0  0  0

, ,  = C2

    
     U1 U2 U3
  BF  0  1  0
  HF  1  1  0
  ... 
> ftable(farms$Manag,farms$Use,farms$Manure)
       C0 C1 C2 C3 C4
                     
BF U1   0  1  0  0  0
   U2   0  0  1  0  0
   U3   0  1  0  0  0
HF U1   0  1  1  0  0
   U2   0  0  1  0  0
   U3   0  0  0  2  0
NM U1   4  0  0  0  0
   U2   1  0  0  0  0
   U3   1  0  0  0  0
SF U1   0  0  0  0  0
   U2   0  0  1  1  3
   U3   0  0  0  1  0

Con i parametri col.vars e row.vars, è possibile sistemare le variabili nel modo più opportuno.

Altro esempio, con quattro variabili (osservare la collocazione delle variabili):

> names(farms)
[1] "Mois"   "Manag"  "Use"    "Manure"

#ordine delle variabili nel dataframe

> ftable(farms, col.vars = c("Use", "Manure"))
           Use    U1             U2             U3            
           Manure C0 C1 C2 C3 C4 C0 C1 C2 C3 C4 C0 C1 C2 C3 C4
Mois Manag                                                    
M1   BF            0  0  0  0  0  0  0  1  0  0  0  1  0  0  0
     HF            0  0  1  0  0  0  0  1  0  0  0  0  0  1  0
     NM            1  0  0  0  0  0  0  0  0  0  0  0  0  0  0
     SF            0  0  0  0  0  0  0  0  0  1  0  0  0  0  0
M2   BF            0  1  0  0  0  0  0  0  0  0  0  0  0  0  0
     HF            0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
     NM            1  0  0  0  0  0  0  0  0  0  0  0  0  0  0
     SF            0  0  0  0  0  0  0  0  0  2  0  0  0  0  0
M4   BF            0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
     HF            0  1  0  0  0  0  0  0  0  0  0  0  0  0  0
     NM            0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
     SF            0  0  0  0  0  0  0  1  0  0  0  0  0  0  0
M5   BF            0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
     HF            0  0  0  0  0  0  0  0  0  0  0  0  0  1  0
     NM            2  0  0  0  0  1  0  0  0  0  1  0  0  0  0
     SF            0  0  0  0  0  0  0  0  1  0  0  0  0  1  0

Script di esempio

Esftable.R
#Con due variabili
table(farms$Manag,farms$Use)
ftable(farms$Manag,farms$Use)
 
ftable(farms, row.vars = "Manag", col.vars = "Use")
 
#Con tre variabili
table(farms$Manag,farms$Use,farms$Manure)
ftable(farms$Manag,farms$Use,farms$Manure)
 
#Con più variabili
names(farms)
ftable(farms, col.vars = c("Use", "Manure"))
 
## esportare la tabella (o le tabelle)
ftable1<-ftable(farms, row.vars = "Manag", col.vars = "Use")
write.ftable(ftable1, file="ftable1.txt", append = TRUE)
r/comandi/ftable.txt · Ultima modifica: 10/06/2017 00:17 da admin