Come calcolare le statistiche descrittive in r (con esempio)


Le statistiche descrittive sono valori che descrivono un insieme di dati.

Ci aiutano a capire dove si trova il centro del set di dati e la distribuzione dei valori nel set di dati.

Esistono due funzioni che possiamo utilizzare per calcolare le statistiche descrittive in R:

Metodo 1: utilizzare la funzione summary()

 summary(my_data)

La funzione summary() calcola i seguenti valori per ciascuna variabile in un frame di dati in R:

  • Minimo
  • 1° quartile
  • Mediano
  • Significare
  • 3° quartile
  • Massimo

Metodo 2: utilizzare la funzione sapply()

 sapply(my_data, sd, na. rm = TRUE )

La funzione sapply() può essere utilizzata per calcolare statistiche descrittive diverse da quelle calcolate dalla funzione summary() per ciascuna variabile in un frame di dati.

Ad esempio, la funzione sapply() sopra calcola la deviazione standard di ciascuna variabile in un frame di dati.

L’esempio seguente mostra come utilizzare queste due funzioni per calcolare le statistiche descrittive per le variabili in un frame di dati in R.

Esempio: calcolo della statistica descrittiva in R

Supponiamo di avere il seguente frame di dati in R che contiene tre variabili:

 #create data frame
df <- data. frame (x=c(1, 4, 4, 5, 6, 7, 10, 12),
                 y=c(2, 2, 3, 3, 4, 5, 11, 11),
                 z=c(8, 9, 9, 9, 10, 13, 15, 17))

#view data frame
df

   X Y Z
1 1 2 8
2 4 2 9
3 4 3 9
4 5 3 9
5 6 4 10
6 7 5 13
7 10 11 15
8 12 11 17

Possiamo utilizzare la funzione summary() per calcolare varie statistiche descrittive per ciascuna variabile:

 #calculate descriptive statistics for each variable
summary(df)

       xyz Min. : 1,000 Min. : 2,000 Min. : 8.00  
 1st Qu.: 4,000 1st Qu.: 2,750 1st Qu.: 9.00  
 Median: 5,500 Median: 3,500 Median: 9.50  
 Mean: 6.125 Mean: 5.125 Mean: 11.25  
 3rd Qu.: 7,750 3rd Qu.: 6,500 3rd Qu.: 13.50  
 Max. :12,000 Max. :11,000 Max. :17.00

Possiamo anche usare le parentesi per calcolare solo statistiche descrittive per variabili specifiche nel frame di dati:

 #calculate descriptive statistics for 'x' and 'z' only
summary(df[, c(' x ', ' z ')])

       xz Min. : 1,000 Min. : 8.00  
 1st Qu.: 4.000 1st Qu.: 9.00  
 Median: 5.500 Median: 9.50  
 Mean: 6.125 Mean: 11.25  
 3rd Qu.: 7.750 3rd Qu.: 13.50  
 Max. :12,000 Max. :17.00 

Possiamo anche utilizzare la funzione sapply() per calcolare statistiche descrittive specifiche per ciascuna variabile.

Ad esempio, il codice seguente mostra come calcolare la deviazione standard di ciascuna variabile:

 #calculate standard deviation for each variable
sapply(df, sd, na. rm = TRUE )

       X Y Z
3.522884 3.758324 3.327376

Possiamo anche usare una funzione() in sapply() per calcolare statistiche descrittive.

Ad esempio, il codice seguente mostra come calcolare l’intervallo per ciascuna variabile:

 #calculate range for each variable
sapply(df, function(df) max(df, na. rm = TRUE )-min(df, na. rm = TRUE ))

 X Y Z
11 9 9

Infine, possiamo creare una funzione complessa che calcoli statistiche descrittive e quindi utilizzare questa funzione con la funzione sapply() .

Ad esempio, il codice seguente mostra come calcolare la modalità di ciascuna variabile nel frame di dati:

 #define function that calculates mode
find_mode <- function (x) {
  u <- unique(x)
  tab <- tabulate(match(x, u))
  u[tab == max(tab)]
}

#calculate mode for each variable
sapply(df, find_mode)

$x
[1] 4

$y
[1] 2 3 11

$z
[1] 9

Dal risultato possiamo vedere:

  • La moda della variabile x è 4 .
  • La moda della variabile y è 2 , 3 e 11 (poiché ciascuno di questi valori appare più frequentemente)
  • La moda della variabile z è 9 .

Utilizzando le funzioni summary() e sapply() , possiamo calcolare qualunque statistica descrittiva desideriamo per ciascuna variabile in un frame di dati.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come creare tabelle di riepilogo in R
Come trovare l’intervallo interquartile in R
Come rimuovere gli outlier in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *