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: 11/08/2025 14:35 da Agnese Vardanega
