Statistica Descrittiva

Frequenze, Indici di Posizione, Variabilità e Forma

Autore/Autrice

Margherita Calderan

Data di Pubblicazione

10 marzo 2026

1 Statistica Descrittiva e Inferenziale

1.1 Definizioni

Statistica descrittiva: Riassume, descrive ed esplora i dati osservati. Prima fase nella valutazione delle proprietà psicometriche di uno strumento.

Statistica inferenziale: Usa i dati di un campione per fare inferenze sulla popolazione (confronti tra gruppi, valutazione di interventi, validazione di test).

2 Preparazione dei Dati in R

2.1 Comandi base

# Pulire lo spazio di lavoro
rm(list = ls())

# Impostare working directory
setwd('/percorso/cartella')

# Caricare dataset
burnout = read.csv("data/burnout.csv")
# Visualizzare struttura
str(burnout)
'data.frame':   2000 obs. of  10 variables:
 $ Name             : chr  "Max Ivanov" "Max Wang" "Nina Petrov" "John Ivanov" ...
 $ Age              : int  32 40 33 35 59 45 31 39 24 22 ...
 $ Gender           : chr  "Male" "Female" "Female" "Female" ...
 $ JobRole          : chr  "Analyst" "Engineer" "Engineer" "Manager" ...
 $ Experience       : int  3 9 2 6 8 11 5 17 0 1 ...
 $ WorkHoursPerWeek : int  60 47 44 44 38 44 70 31 63 30 ...
 $ RemoteRatio      : int  21 67 20 70 46 90 30 53 35 5 ...
 $ SatisfactionLevel: num  4.4 2.09 2.58 3.23 4.41 4.31 2.18 3.95 1.32 1.44 ...
 $ StressLevel      : int  1 2 3 8 1 7 3 4 5 5 ...
 $ Burnout          : int  0 0 0 0 0 0 0 0 0 0 ...
# Definire natura della variabile
burnout$StressLevel = as.ordered(burnout$StressLevel)
burnout$StressLevel
   [1] 1  2  3  8  1  7  3  4  5  5  10 10 2  8  3  5  1  1  5  4  3  2  7  4 
  [25] 1  8  9  4  1  7  1  4  3  7  4  6  4  2  4  9  9  4  1  1  9  3  7  7 
  [49] 2  6  10 4  2  1  4  6  4  3  6  9  10 2  1  3  9  9  2  5  9  3  3  7 
  [73] 9  8  1  2  3  7  6  2  3  3  2  1  10 6  9  5  5  3  10 10 4  6  10 8 
  [97] 10 8  6  6  10 5  10 4  8  7  8  8  7  6  9  9  5  8  2  7  5  8  4  7 
 [121] 4  2  10 7  2  2  1  1  6  6  3  7  6  9  8  4  8  9  1  2  4  10 4  4 
 [145] 5  4  9  7  9  4  6  3  2  3  5  5  2  3  9  5  1  10 1  3  1  7  9  10
 [169] 5  1  9  9  8  10 9  5  3  7  7  10 6  3  3  6  3  9  3  2  9  9  4  9 
 [193] 8  9  8  2  6  4  3  9  8  4  2  8  3  8  5  5  1  7  8  8  6  10 7  10
 [217] 9  10 5  9  4  4  7  1  5  4  9  5  9  7  6  5  10 6  5  7  10 4  7  1 
 [241] 5  10 5  3  2  10 10 2  1  1  6  2  1  10 7  2  9  2  10 6  2  7  7  6 
 [265] 8  1  10 10 9  7  7  3  1  1  5  5  5  3  4  8  7  6  3  7  6  5  4  7 
 [289] 2  6  3  8  6  7  7  9  9  1  8  2  5  1  7  4  2  1  3  10 1  2  2  5 
 [313] 1  10 10 5  4  3  5  7  1  8  1  2  9  6  1  10 6  7  8  4  5  10 7  5 
 [337] 5  8  5  7  5  9  3  5  3  3  9  6  3  1  4  2  9  8  9  1  6  6  10 7 
 [361] 9  4  6  8  7  2  6  5  8  4  7  7  5  9  7  6  9  4  1  10 1  6  2  6 
 [385] 4  7  4  4  3  5  6  5  10 5  3  8  5  2  2  4  6  9  8  2  4  9  9  5 
 [409] 9  4  1  10 2  2  5  6  3  2  5  1  5  5  4  6  3  10 8  8  2  2  9  2 
 [433] 8  4  8  6  5  6  2  7  7  3  9  8  9  9  9  2  5  6  8  5  9  7  8  10
 [457] 3  7  5  7  3  7  3  9  6  9  5  2  4  6  7  9  5  10 5  3  4  4  1  8 
 [481] 8  3  8  6  7  7  3  2  10 9  9  2  2  1  4  6  2  7  10 5  7  5  3  4 
 [505] 4  3  2  9  2  1  7  8  9  2  2  1  6  6  6  7  1  1  6  5  3  2  3  9 
 [529] 9  1  2  2  8  6  7  1  8  8  7  9  3  2  8  8  9  5  5  5  10 3  2  5 
 [553] 7  9  7  4  10 1  4  2  3  1  7  10 8  7  5  5  7  1  3  1  4  2  3  10
 [577] 10 3  3  8  1  2  3  9  8  5  10 1  6  4  8  5  8  4  6  3  8  10 7  4 
 [601] 5  3  9  10 1  1  7  2  6  2  4  6  8  5  6  2  1  10 4  5  4  8  10 8 
 [625] 5  1  5  1  10 4  9  5  8  10 7  6  6  5  10 2  1  4  8  2  8  3  10 4 
 [649] 6  9  9  10 10 3  6  2  9  8  5  1  9  2  4  3  1  4  9  9  7  2  10 1 
 [673] 9  5  1  1  3  4  7  8  4  1  8  9  8  9  8  2  10 4  7  9  6  8  2  10
 [697] 1  9  1  8  3  6  1  8  7  3  1  5  4  1  8  5  3  5  7  2  5  8  6  1 
 [721] 8  10 7  2  1  7  7  5  2  4  6  9  7  2  3  9  10 2  7  5  9  8  4  4 
 [745] 5  1  6  9  8  6  9  3  5  3  1  2  2  3  9  6  9  6  3  3  2  6  9  6 
 [769] 6  5  9  8  1  8  5  9  6  3  6  1  6  10 7  2  8  2  5  9  4  2  5  4 
 [793] 8  6  8  2  7  5  4  9  10 5  7  7  10 3  2  7  6  3  2  8  9  3  10 4 
 [817] 8  10 8  6  4  2  1  2  8  8  8  5  10 1  4  6  6  3  5  10 10 1  4  7 
 [841] 1  10 4  6  10 2  1  9  4  5  7  8  7  4  1  5  1  2  1  3  4  4  9  4 
 [865] 6  10 2  3  8  1  4  7  3  8  7  8  6  8  6  10 3  1  2  3  4  1  2  3 
 [889] 3  8  7  2  9  3  4  6  2  7  7  1  8  1  1  8  7  3  4  5  10 5  10 10
 [913] 6  8  2  9  7  3  10 1  8  7  4  1  3  8  1  9  4  3  2  1  4  1  4  6 
 [937] 3  6  1  8  6  9  1  7  2  3  4  7  1  2  7  3  2  1  3  3  3  3  5  5 
 [961] 8  1  7  4  4  1  4  2  10 4  1  1  2  1  5  3  9  2  2  1  3  5  8  1 
 [985] 6  5  5  1  7  5  9  10 10 8  9  9  5  10 2  7  9  5  6  4  6  9  5  2 
[1009] 9  6  5  3  10 9  9  7  8  2  9  1  8  5  3  9  1  4  5  4  4  6  6  8 
[1033] 4  9  6  4  8  4  3  3  5  8  10 7  6  7  6  4  6  6  4  6  4  10 1  8 
[1057] 5  2  1  7  4  3  3  3  6  7  5  3  9  3  6  6  8  7  9  7  10 6  3  3 
[1081] 10 8  10 10 10 1  9  2  4  5  3  10 5  1  2  4  3  5  7  3  3  9  1  3 
[1105] 8  9  7  3  3  1  7  5  3  2  2  10 5  2  7  7  3  3  4  8  2  2  3  7 
[1129] 2  9  9  3  2  1  4  6  6  10 2  6  2  8  10 5  3  9  7  10 3  5  2  7 
[1153] 8  6  7  7  4  9  1  9  4  9  2  5  2  1  6  8  5  8  6  6  1  9  7  9 
[1177] 8  1  9  4  9  10 4  10 1  3  1  1  5  8  10 10 10 8  1  8  5  10 6  5 
[1201] 6  3  5  1  1  5  1  7  1  10 1  2  2  3  2  9  9  5  10 9  6  9  4  3 
[1225] 4  1  7  4  3  4  4  1  6  6  8  6  4  1  2  8  10 5  7  1  7  6  7  7 
[1249] 3  8  7  6  3  10 3  2  5  8  6  3  7  1  3  9  6  4  6  3  1  6  5  3 
[1273] 6  10 1  3  8  3  5  8  3  8  3  7  9  6  2  10 3  1  9  4  8  2  1  1 
[1297] 6  3  2  6  5  3  3  2  4  3  6  6  5  2  7  1  4  9  8  5  8  2  4  6 
[1321] 4  10 9  8  9  7  8  5  10 9  5  9  10 4  4  3  1  1  1  1  6  10 4  1 
[1345] 3  6  8  2  3  9  4  8  8  2  10 8  3  2  5  1  10 9  1  10 6  8  6  9 
[1369] 1  10 9  2  8  9  8  9  8  8  6  5  1  1  3  4  9  8  2  10 4  3  5  8 
[1393] 6  10 6  10 10 8  1  9  10 9  3  10 8  9  8  2  9  2  4  9  2  6  7  2 
[1417] 4  10 8  9  7  9  5  2  7  1  9  10 4  8  1  2  9  4  6  3  7  2  1  4 
[1441] 2  9  7  3  1  1  7  8  10 5  8  10 9  9  8  9  8  8  1  6  9  1  3  6 
[1465] 10 8  7  10 8  7  8  5  9  10 7  9  9  3  3  6  3  2  8  4  3  7  3  10
[1489] 6  9  3  6  2  2  4  5  2  1  7  4  10 10 2  1  10 4  5  10 4  4  6  10
[1513] 7  3  5  7  8  2  8  2  8  1  3  5  1  10 3  5  2  3  6  3  8  1  9  4 
[1537] 6  1  6  4  7  10 1  9  1  7  3  5  6  5  5  7  1  6  6  9  7  5  8  1 
[1561] 7  3  2  2  6  7  9  9  7  8  3  1  3  1  9  10 9  5  4  5  7  6  1  6 
[1585] 5  6  2  5  2  7  8  7  7  4  7  7  4  6  1  5  6  8  8  10 9  1  3  6 
[1609] 7  9  1  2  6  7  5  8  10 1  7  6  9  2  2  9  2  3  9  6  5  5  5  7 
[1633] 3  6  9  3  4  7  9  2  5  8  6  5  6  3  9  10 3  4  6  5  10 8  2  9 
[1657] 7  1  3  3  6  9  8  7  3  4  10 2  3  1  7  6  1  8  5  2  2  9  5  9 
[1681] 4  9  4  9  7  7  8  1  9  6  4  2  9  8  10 9  4  5  8  8  5  6  5  5 
[1705] 4  7  3  1  8  1  1  8  5  9  3  3  1  4  7  7  2  1  7  6  1  1  6  10
[1729] 8  4  10 1  10 9  1  1  8  9  5  5  8  3  9  7  4  5  6  5  4  3  10 8 
[1753] 4  1  5  1  9  1  8  7  8  7  10 1  4  2  8  10 6  1  1  4  10 7  2  8 
[1777] 9  1  6  3  4  3  9  4  4  10 10 7  3  9  1  2  8  4  2  9  6  5  2  7 
[1801] 2  9  4  6  9  7  4  10 4  1  10 3  5  4  5  5  2  1  8  6  7  10 4  9 
[1825] 7  5  10 7  8  9  2  6  8  9  8  6  4  9  8  4  4  1  9  7  2  3  10 1 
[1849] 7  5  10 4  7  1  3  6  2  6  6  5  8  3  2  8  5  10 10 3  1  1  4  4 
[1873] 6  8  2  8  2  8  2  4  10 8  1  9  2  1  9  9  5  4  10 10 8  10 2  5 
[1897] 5  9  7  9  2  3  4  6  4  10 1  7  8  3  2  4  5  7  9  9  9  8  2  2 
[1921] 4  8  4  10 1  10 1  8  6  1  7  7  9  7  10 3  2  2  6  5  6  6  4  2 
[1945] 5  5  4  8  8  1  8  7  4  5  1  4  6  10 2  2  8  6  10 8  2  5  4  6 
[1969] 5  3  6  5  7  10 9  1  4  5  1  8  9  10 10 2  6  4  4  8  2  1  7  6 
[1993] 6  10 1  4  9  4  4  8 
Levels: 1 < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10

2.2 Notazioni fondamentali

  • \(X\): variabile di interesse
  • \(X_i\): categoria/livello \(i\)-esima di \(X\)
  • \(n\): totale unità statistiche

3 Frequenze

3.1 Frequenze Assolute Semplici

Definizione: Numero naturale di unità statistiche che presentano una data categoria.

Comando R:

fi = table(burnout$StressLevel)
fi

  1   2   3   4   5   6   7   8   9  10 
220 199 199 200 196 197 191 208 214 176 

3.2 Frequenze Assolute Cumulate

Definizione: Somma delle frequenze assolute semplici delle categorie precedenti alla categoria data più la frequenza assoluta semplice della categoria data.

Comando R:

Fi = cumsum(table(burnout$StressLevel))
Fi
   1    2    3    4    5    6    7    8    9   10 
 220  419  618  818 1014 1211 1402 1610 1824 2000 

3.3 Frequenze Relative Semplici

Definizione: Rapporto tra la frequenza assoluta semplice e il numero totale di unità statistiche. Varia sempre tra 0 e 1.

Comandi R:

n = nrow(burnout)  # numero unità statistiche
# oppure n = length(burnout$StressLevel)
pi = table(burnout$StressLevel) / n
pi

     1      2      3      4      5      6      7      8      9     10 
0.1100 0.0995 0.0995 0.1000 0.0980 0.0985 0.0955 0.1040 0.1070 0.0880 

3.4 Frequenze Relative Cumulate

Definizione: Somma delle frequenze relative semplici delle categorie precedenti più la frequenza relativa semplice della categoria data. Varia sempre tra 0 e 1.

Comando R:

Pi = cumsum(table(burnout$StressLevel) / n)
Pi
     1      2      3      4      5      6      7      8      9     10 
0.1100 0.2095 0.3090 0.4090 0.5070 0.6055 0.7010 0.8050 0.9120 1.0000 

3.5 Visualizzazione

# Frequenze assolute semplici
barplot(table(burnout$StressLevel), 
        ylab = "Frequenze assolute semplici")

# Frequenze relative
barplot(table(burnout$StressLevel) / n, 
        ylab = "Frequenze relative semplici")

# Frequenze cumulate assolute
barplot(cumsum(table(burnout$StressLevel)), 
        ylab = "Frequenze assolute cumulate")

# Frequenze cumulate relative
barplot(cumsum(table(burnout$StressLevel)/n), 
        ylab = "Frequenze relative cumulate")

4 Indici di Tendenza Centrale

4.1 Definizione

Un indice di tendenza centrale è un valore che descrive e riassume il centro di una distribuzione di dati.

Indice Variabile nominale Variabile ordinale Variabile quantitativa
Moda SI SI SI
Mediana NO SI SI
Media NO NO SI

4.2 Moda

Definizione: Categoria che si presenta con la massima frequenza.

Comando R:

table(burnout$StressLevel)  # identificare categoria più frequente

  1   2   3   4   5   6   7   8   9  10 
220 199 199 200 196 197 191 208 214 176 

4.3 Mediana

Definizione: Dato che occupa la posizione centrale rispetto alla distribuzione dei dati ordinati.

Comandi R:

# Calcolo manuale
i = (n + 1) / 2  # posizione centrale
cumsum(table(burnout$StressLevel))  # trovare prima freq cumulata >= i
   1    2    3    4    5    6    7    8    9   10 
 220  419  618  818 1014 1211 1402 1610 1824 2000 
# Funzione diretta
median(as.numeric(burnout$StressLevel))
[1] 5

4.4 Media Aritmetica

Definizione: Somma dei dati divisa per il numero di unità statistiche.

\[\bar{X} = \frac{\sum_{i=1}^{n} X_i}{n}\]

Comandi R:

# Calcolo manuale
sum(burnout$Age) / length(burnout$Age)
[1] 40.6945
# Funzione diretta
mean(burnout$Age)
[1] 40.6945

5 Indici di Variabilità

5.1 Definizione

La variabilità (o dispersione) misura quanto i punteggi di una distribuzione sono sparsi, ovvero quanto siano simili o dissimili tra loro.

  • Valori sempre positivi o nulli
  • Variabilità minima = 0 (tutti i punteggi uguali)

5.2 Campo di Variazione (Gamma)

Definizione: Differenza tra valore massimo e minimo osservato.

\[\gamma = X_{max} - X_{min}\]

Comandi R:

team_A = c(38, 42, 44, 36, 39, 42, 38, 41)
max(team_A) - min(team_A)
[1] 8
range(team_A)  # restituisce [min, max]
[1] 36 44

5.3 Varianza

Definizione: Media degli scarti al quadrato tra i dati e la media dei dati stessi.

\[\sigma^2 = \frac{\sum_{i=1}^{n} (X_i - \bar{X})^2}{n}\]

Proprietà: \(\sigma^2 \geq 0\)

Comandi R:

# Calcolo manuale (varianza descrittiva, divide per n)
n = length(team_A)
media = mean(team_A)
scarti = team_A - media
varianza = sum(scarti^2) / n
varianza
[1] 6.25
# Funzione var() - ATTENZIONE: calcola varianza campionaria (divide per n-1)
var(team_A)  # varianza campionaria
[1] 7.142857
sum(scarti^2) / (n-1)
[1] 7.142857
Importante

La funzione var() di R calcola la varianza campionaria (divide per \(n-1\)). Per dati descrittivi (popolazione osservata) si usa \(n\); per stimare la varianza della popolazione da un campione si usa \(n-1\).

5.4 Deviazione Standard

Definizione: Radice quadrata della varianza. Riporta l’indice di variabilità sulla scala della variabile.

\[\sigma = \sqrt{\sigma^2}\]

Comando R:

sd(burnout$WorkHoursPerWeek)  # deviazione standard campionaria
[1] 11.83242

5.5 Coefficiente di Variazione

Definizione: Rapporto tra deviazione standard e valore assoluto della media. Indice di variabilità relativa per confrontare fenomeni misurati su scale diverse.

\[CV = \frac{\sigma}{|\bar{X}|}\]

Esempio R:

# Confronto variabilità tra esperienza e ore lavorative
media_esp = abs(mean(burnout$Experience))
sd_esp = sd(burnout$Experience)
cv_esp = sd_esp / media_esp

media_ore = abs(mean(burnout$WorkHoursPerWeek))
sd_ore = sd(burnout$WorkHoursPerWeek)
cv_ore = sd_ore / media_ore

sd_esp
[1] 9.148267
sd_ore
[1] 11.83242
cv_esp
[1] 0.9080617
cv_ore
[1] 0.2386147

5.6 Differenza Interquartilica (IQR)

Definizione: Differenza tra terzo e primo quartile. Misura la dispersione del 50% centrale dei dati. Indice robusto (valori estremi incidono poco).

\[IQR = Q_{75} - Q_{25}\]

Comandi R: La funzione quantile() permette di calcolare i quantili. L’argomento prob = ... definisce che percetile vogliamo ottenere.

Q1 = quantile(burnout$Experience, prob = 0.25)
Q3 = quantile(burnout$Experience, prob = 0.75)
differenza_iqr = Q3 - Q1

# Limiti outlier
limite_inferiore = Q1 - (1.5 * differenza_iqr)
limite_superiore = Q3 + (1.5 * differenza_iqr)

5.7 Boxplot

Visualizzazione della variabilità:

boxplot(burnout$Experience,
             horizontal = TRUE, 
             # Visualizzo il boxplot in orizzontale
             main = "Boxplot", #titolo
             xlab = "Anni", # nome della variabil 
             # (asse x perchè orizzontale)
             col = "lightblue", #colore
             border = "black", #bordo 
             outcol = "red", # colore outlier
             outpch = 19, # forma outlier (i.e, pallini)
             lwd = 1.5) # spessore linee

Outlier: Valori oltre \(1.5 \times IQR\) dai quartili.

Identificare outlier:

subset(burnout, #dataset
       select = c(Name, Experience), # colonne d'interesse
       subset = Experience>limite_superiore) # valuto per riga
             Name Experience
59        Sam Lee         38
102   Dina Garcia         34
157    Sam Petrov         35
300      Kate Kim         37
395  Ivan Johnson         35
407   Lily Petrov         36
418    Max Ivanov         39
445   Alex Petrov         37
478   Alex Garcia         37
501      Sam Wang         35
510    Kate Brown         35
556   Alex Ivanov         35
584      Lily Kim         34
604    Nina Smith         35
664       Sam Kim         35
674   Nina Ivanov         37
721   John Petrov         37
736     Ivan Chen         35
739     Ivan Wang         34
936    Ivan Smith         35
979     Ivan Wang         36
1149    Kate Chen         35
1208 Nina Johnson         37
1261   Nina Brown         34
1299  Max Johnson         35
1412    Kate Chen         38
1425    Nina Wang         36
1443    Leo Smith         36
1610    John Chen         37
1638     Dina Kim         35
1645  Kate Ivanov         35
1700    John Chen         38
1793    Nina Chen         35
1850   Ivan Brown         38
1953   Leo Ivanov         36
1955    Ivan Wang         35
# Equivalente con dataframe[valuto per riga, colonne d'interesse]:
burnout[burnout$Experience > limite_superiore, c("Name", "Experience")]
             Name Experience
59        Sam Lee         38
102   Dina Garcia         34
157    Sam Petrov         35
300      Kate Kim         37
395  Ivan Johnson         35
407   Lily Petrov         36
418    Max Ivanov         39
445   Alex Petrov         37
478   Alex Garcia         37
501      Sam Wang         35
510    Kate Brown         35
556   Alex Ivanov         35
584      Lily Kim         34
604    Nina Smith         35
664       Sam Kim         35
674   Nina Ivanov         37
721   John Petrov         37
736     Ivan Chen         35
739     Ivan Wang         34
936    Ivan Smith         35
979     Ivan Wang         36
1149    Kate Chen         35
1208 Nina Johnson         37
1261   Nina Brown         34
1299  Max Johnson         35
1412    Kate Chen         38
1425    Nina Wang         36
1443    Leo Smith         36
1610    John Chen         37
1638     Dina Kim         35
1645  Kate Ivanov         35
1700    John Chen         38
1793    Nina Chen         35
1850   Ivan Brown         38
1953   Leo Ivanov         36
1955    Ivan Wang         35

6 Percentili

6.1 Definizione

Il percentile \(x_p\) di ordine \(p\) è quella categoria/valore che è:

  • preceduta da almeno \(p\%\) dei casi
  • superata da almeno \((1-p)\%\) dei casi

Tipi:

  • Quartili: percentili di ordine 25, 50, 75
  • Decili: percentili di ordine 10, 20, …, 90
  • Percentili: percentili di ordine 1, 2, …, 98, 99

Comando R:

quantile(burnout$SatisfactionLevel, 
         probs = c(0.05, 0.25, 0.50, 0.75, 0.95))
    5%    25%    50%    75%    95% 
1.2100 2.0000 3.0250 4.0000 4.7905 

6.2 Rango Percentile

Definizione: Percentuale di casi che hanno un valore uguale o inferiore a un particolare punteggio \(X_i\).

\[R_p = \frac{B}{N} \times 100\]

dove:

  • \(R_p\) = rango percentile
  • \(B\) = numero di casi \(\leq X_i\)
  • \(N\) = numero totale di casi
  • \(X_i\) = punteggio di interesse

Comandi R:

rango = rank(burnout$SatisfactionLevel)
N = nrow(burnout)
Rp_SatisfactionLevel = (rango / N) * 100

# Aggiungere al dataset
burnout$Rp_SatisfactionLevel = Rp_SatisfactionLevel

# visualizzo le prime 6 righe del dataset
head(burnout$Rp_SatisfactionLevel, n = 6)
[1] 85.200 27.425 39.325 55.175 85.575 83.225

7 Indici di Forma

7.1 Definizione

Gli indici di forma descrivono come è distribuita una variabile, oltre alla sua posizione centrale e dispersione. Due distribuzioni possono avere stessa media e deviazione standard ma forma diversa.

7.2 Asimmetria (Skewness)

Definizione: Misura quanto una distribuzione si discosta dalla simmetria rispetto al centro.

Tipo Valore indice Caratteristiche
Simmetrica \(\approx 0\) Media = Mediana = Moda
Asimmetria positiva \(> 0\) Moda < Mediana < Media
Asimmetria negativa \(< 0\) Media < Mediana < Moda

Comando R:

# Installare e caricare pacchetto
# install.packages("psych")
library(psych)

# Calcolare asimmetria
skew(burnout$WorkHoursPerWeek)
[1] 0.05606748

7.2.1 Visualizzazioni (Skewness)


7.3 Curtosi (Kurtosis)

Definizione: Misura quanto i dati si concentrano nelle code della distribuzione. Molti software riportano l’eccesso di curtosi (valore in relazione alla curtosi della distribuzione normale = 3).

Tipo Valore indice Forma
Mesocurtica \(\approx 0\) Forma normale
Leptocurtica \(> 0\) Code pesanti
Platicurtica \(< 0\) Code leggere

Comando R:

kurtosi(burnout$WorkHoursPerWeek)
[1] -1.186166

7.4 Confronto Multiple Variabili

variabili = c("Age", "Experience", 
              "WorkHoursPerWeek", "SatisfactionLevel")

risultati = data.frame(
  Variabile = variabili,
  #applico la funzione a tutte le variabili/colonne 
  # via sapply(a cosa, funzione)
  Asimmetria = sapply(burnout[, variabili], skew),
  Curtosi = sapply(burnout[, variabili], kurtosi)
)

print(risultati, row.names = FALSE, digits = 2)
         Variabile Asimmetria Curtosi
               Age     0.0354   -1.20
        Experience     0.9966    0.17
  WorkHoursPerWeek     0.0561   -1.19
 SatisfactionLevel    -0.0083   -1.20

7.4.0.1 psych::describe

La funzione describe() del pacchetto psych calcola le statiche descrittive per tutte le variabili in un dataset

psych::describe(burnout)
                     vars    n  mean    sd median trimmed   mad   min    max
Name*                   1 2000 50.98 28.92  51.00   51.11 37.06  1.00 100.00
Age                     2 2000 40.69 11.29  41.00   40.61 14.83 22.00  60.00
Gender*                 3 2000  1.51  0.50   2.00    1.51  0.00  1.00   2.00
JobRole*                4 2000  2.99  1.42   3.00    2.99  1.48  1.00   5.00
Experience              5 2000 10.07  9.15   7.00    8.86  7.41  0.00  39.00
WorkHoursPerWeek        6 2000 49.59 11.83  49.00   49.49 14.83 30.00  70.00
RemoteRatio             7 2000 49.97 29.15  49.00   49.90 37.06  0.00 100.00
SatisfactionLevel       8 2000  3.00  1.16   3.02    2.99  1.49  1.00   5.00
StressLevel*            9 2000  5.43  2.88   5.00    5.43  4.45  1.00  10.00
Burnout                10 2000  0.06  0.25   0.00    0.00  0.00  0.00   1.00
Rp_SatisfactionLevel   11 2000 50.02 28.87  50.02   50.02 37.03  0.05  99.92
                      range  skew kurtosis   se
Name*                 99.00 -0.02    -1.22 0.65
Age                   38.00  0.04    -1.20 0.25
Gender*                1.00 -0.05    -2.00 0.01
JobRole*               4.00 -0.01    -1.31 0.03
Experience            39.00  1.00     0.17 0.20
WorkHoursPerWeek      40.00  0.06    -1.19 0.26
RemoteRatio          100.00  0.03    -1.20 0.65
SatisfactionLevel      4.00 -0.01    -1.20 0.03
StressLevel*           9.00  0.00    -1.24 0.06
Burnout                1.00  3.54    10.56 0.01
Rp_SatisfactionLevel  99.88  0.00    -1.20 0.65

8 Riepilogo Funzioni R

8.1 Funzioni Base

Funzione Descrizione
rm(list = ls()) Pulire workspace
setwd() Impostare working directory
read.csv() Caricare dataset CSV
str() Visualizzare struttura
head() Prime righe
nrow() Numero righe
length() Lunghezza vettore

8.2 Trasformazioni Variabili

Funzione Descrizione
as.ordered() Convertire a ordinale
as.numeric() Convertire a numerico
as.factor() Convertire a fattore

8.3 Frequenze

Funzione Descrizione
table() Frequenze assolute
cumsum() Somma cumulata

8.4 Tendenza Centrale

Funzione Descrizione
mean() Media aritmetica
median() Mediana
sum() Somma

8.5 Variabilità

Funzione Descrizione
min() Valore minimo
max() Valore massimo
range() Range [min, max]
var() Varianza (campionaria, \(n-1\))
sd() Deviazione standard (campionaria)
quantile() Percentili/quartili
IQR() Differenza interquartilica
rank() Rango

8.6 Forma (pacchetto psych)

Funzione Descrizione
skew() Asimmetria
kurtosi() Eccesso di curtosi

8.7 Visualizzazione

Funzione Descrizione
barplot() Grafico a barre
boxplot() Boxplot
hist() Istogramma

8.8 Manipolazione Dati

Funzione Descrizione
subset() Filtrare righe/colonne
data.frame() Creare dataframe
sapply() Applicare funzione a colonne
print() Stampare output

8.9 Riferimenti

  • Corso Test per le organizzazioni, Università di Padova
  • Altoè, G. (2022). Corso di Testing Psicologico
  • Marci, M. (2025). Corso di Testing Psicologico
  • Dataset: Synthetic HR Burnout Dataset