Ricerca Sociale con R

Una wiki per l'analisi dei dati con R

Strumenti Utente

Strumenti Sito


r:comandi:tapply_by

tapply e by

tapply() e by() applicano una funzione ad ogni gruppo definito da una combinazione di livelli di fattori (modalità di una variabile di raggruppamento). Il risultato è un vettore, una lista o una tabella con i risultati della funzione per ciascun gruppo.

Vedi anche:

tapply

La sintassi di prevede di indicare l’oggetto, poi una lista con le variabili di raggruppamento, e poi la funzione eventualmente seguita dagli argomenti:

tapply(X, INDEX, FUN = NULL, ..., default = NA, simplify = TRUE)
# dati
data(package="LabRS", MYSLID)

Statistiche riassuntive per genere della variabile Retribuzione:

tapply(MYSLID$Retribuzione, list(MYSLID$Genere), FUN = summary)
$Donna
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   2.30    8.06   12.35   13.89   17.41   49.92    1803 

$Uomo
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   3.00   10.81   16.09   17.22   22.00   49.44    1475 

Retribuzione media per genere:

# con argomenti
tapply(MYSLID$Retribuzione, list(MYSLID$Genere), mean, na.rm = T)
   Donna     Uomo 
13.88958 17.22221 

Retribuzione media per genere e gruppo linguistico:

# due variabili di raggruppamento
tapply(MYSLID$Retribuzione, list(MYSLID$Genere, MYSLID$Lingua), 
   mean, na.rm=T)
       Inglese Francese    Altro
Donna 13.86653 13.45664 14.12960
Uomo  17.17642 17.32354 17.58178

by

by() usa tapply() ed è pensata per essere applicata ai dataframe. Gli argomenti della funzione vengono inseriti nella stessa forma e nello stesso ordine:

by(data, INDICES, FUN, ..., simplify = TRUE)
by(MYSLID$Retribuzione, list(MYSLID$Genere), 
   mean, na.rm = T)
: Donna
[1] 13.88958
-------------------------------------------------------- 
: Uomo
[1] 17.22221
by(MYSLID$Retribuzione, list(MYSLID$Genere, MYSLID$Lingua), 
   summary)
: Donna
: Inglese
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   2.30    8.00   12.29   13.87   17.40   49.92    1321 
------------------------------------------------------------ 
: Uomo
: Inglese
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   3.00   10.75   16.00   17.18   22.08   49.44    1070 
------------------------------------------------------------ 
: Donna
: Francese
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  5.930   8.518  12.480  13.457  16.997  37.600     140 
------------------------------------------------------------ 
: Uomo
: Francese
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   3.13   11.39   16.32   17.32   21.46   47.88      91 
------------------------------------------------------------ 
: Donna
: Altro
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   3.31    9.10   12.47   14.13   17.81   47.36     311 
------------------------------------------------------------ 
: Uomo
: Altro
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   3.12   11.21   17.00   17.58   21.77   46.42     280 

Domande? Scrivimi

Messenger Telegram Email
r/comandi/tapply_by.txt · Ultima modifica: 11/08/2025 14:37 da Agnese Vardanega