Accedi
Accedi

Deviazione standard in R: guida completa per principianti

Deviazione standard in R: guida completa per principianti
Hostman Team
Technical writer
R
14.10.2025
Reading time: 6 min

La deviazione standard è una misura statistica che mostra quanto i valori di una variabile si discostano in media dalla media aritmetica. Viene utilizzata per capire se le unità di un campione o di una popolazione sono simili rispetto alla caratteristica studiata o se differiscono in modo significativo. Se vuoi imparare che cos’è la deviazione standard o come calcolarla in R, continua a leggere.

Questa guida fornisce una spiegazione dettagliata del calcolo della deviazione standard in R, illustrando vari metodi ed esempi pratici per aiutare gli utenti ad analizzare i dati in modo efficiente.

La matematica dietro la deviazione standard

La deviazione standard misura la dispersione media dei valori di una variabile rispetto alla media aritmetica. Ha un significato intuitivo: è una misura della variabilità di una distribuzione. Se sommassimo semplicemente le distanze dalla media, la somma risulterebbe sempre pari a 0 — un risultato privo di senso.

La formula matematica della deviazione standard è:

=∑(xi​−μ)2N​

Dove:

  • Σ indica la somma,

  • xix_ixi​ rappresenta ciascun valore osservato,

  • μ\muμ è la media dei dati,

  • NNN è il numero totale di osservazioni.

La deviazione standard è spesso abbreviata SD (Standard Deviation). Più è piccola, più i valori sono vicini alla media, indicando dati più coerenti. Per valutare se un SD è grande o piccolo, è importante conoscere l’intervallo di scala utilizzato.

L’importanza della deviazione standard

La deviazione standard è particolarmente utile per confrontare la variabilità tra due insiemi di dati di dimensioni e media simili. La sola media, infatti, non basta per un’analisi approfondita.

Esempio: Che senso ha sapere il salario medio di un’azienda, se non conosciamo la variabilità dei salari? Tutti guadagnano la stessa cifra, oppure un dirigente gonfia la media con il suo stipendio elevato? Per scoprire la verità, è necessario calcolare la deviazione standard.

Allo stesso modo, la deviazione standard è utile per valutare il rischio negli investimenti. Se un’azione produce un rendimento medio annuo del 4% e un’altra del 5%, non significa automaticamente che la seconda sia migliore.

Se il prezzo della prima varia solo di pochi punti percentuali durante l’anno, mentre la seconda oscilla di decine di punti, il primo investimento è molto meno rischioso. Per confrontare il rischio e la stabilità dei rendimenti, si utilizza la deviazione standard.

Diversi modi per calcolare la deviazione standard in R

Per qualsiasi analisi, servono prima di tutto i dati. In R puoi inserirli manualmente definendo un vettore o importarli da fonti esterne (Excel o file CSV).

data <- c(4, 8, 6, 5, 3, 7)

Oppure puoi importare i dataset con la funzione read.csv():

# Read a CSV file into a data frame
data <-read.csv("datafile.csv")
# Install the 'readxl' package install.packages("readxl")
# Load the library library(readxl)
# Read an Excel file into a data frame data_excel <- read_excel("datafile.xlsx", sheet = 1)

Deviazione standard del campione in R

Il modo più semplice per calcolare la deviazione standard di un campione è utilizzare la funzione integrata sd().

sd(data)

Output:

[1] 1.870829

Se il campione contiene valori mancanti (NA), puoi escluderli aggiungendo il parametro na.rm = TRUE:

standard_deviation <- sd(data, na.rm = TRUE)

Deviazione standard della popolazione in R

Per calcolare la deviazione standard della popolazione, si procede manualmente in cinque passaggi:

  1. Calcola la media.

  2. Sottrai la media da ciascun valore.

  3. Eleva al quadrato le differenze.

  4. Calcola la media dei quadrati (varianza).

  5. Calcola la radice quadrata della varianza (deviazione standard).

Esempio:

mean_data <- mean(data)
squared_differences <- (data - mean_data)^2
mean_squared_diff <- mean(squared_differences)
standard_deviation_manual <- sqrt(mean_squared_diff)
print(standard_deviation_manual)

Deviazione standard per gruppo in R

Supponiamo di analizzare i voti degli studenti in diverse materie. La variabile categoriale è “Materia” e vogliamo calcolare la deviazione standard per ciascuna categoria.

Per farlo, possiamo usare il pacchetto dplyr:

install.packages("dplyr")

Seguendo l'esempio precedente, prendiamo un set di dati che contiene i voti degli studenti di diverse materie:

library(dplyr)

# Example data frame with class and grades
data <- data.frame(
  Subject = c('Math', 'Math', 'Math', 'History', 'History', 'History'),
  grade = c(85, 90, 78, 88, 92, 85)
)

# Calculate standard deviation for each class
grouped_sd <- data %>%
  group_by(Subject) %>%
  summarise(Standard_Deviation = sd(grade))

print(grouped_sd)

Output:

# A tibble: 2 × 2
  Subject   Standard_Deviation
  <chr>              <dbl>
1 History           3.511885
2 Math              6.027714       

Deviazione standard per colonna

In R, esistono diversi modi per calcolare la deviazione standard colonna per colonna.

data_frame <- data.frame(A = c(1, 2, 3), B = c(4, 5, 6))
apply(data_frame, 2, sd)

Oppure utilizzando dplyr:

library(dplyr)
data_frame %>%
  summarise(across(everything(), sd))

Deviazione standard ponderata

In alcuni casi, è utile calcolare una deviazione standard ponderata, ad esempio quando i gruppi hanno dimensioni diverse (una squadra con 5 giocatori e un’altra con 50). Senza ponderazione, entrambe influenzerebbero il calcolo allo stesso modo, anche se il loro peso reale è diverso.

La formula è la seguente:

Dw=∑wi​(xi​−μw​)2∑wi​​​

Dove:

  • 𝑤i ​rappresenta il peso per ciascun punto dati,
  • 𝑥i ​ indica ciascun punto dati,
  • μw è la media ponderata, calcolata come:
μw​=​∑wi​xi∑wi​​

R non dispone di una funzione integrata per questo calcolo, ma può essere realizzato manualmente:

# Example data with grades and weights
grades <- c(85, 90, 78, 88, 92, 85)
weights <- c(0.2, 0.3, 0.1, 0.15, 0.1, 0.15)

# Calculate the weighted mean
weighted_mean <- sum(grades * weights) / sum(weights)

# Calculate the squared differences from the weighted mean
squared_differences <- (grades - weighted_mean)^2

# Calculate the weighted variance
weighted_variance <- sum(weights * squared_differences) / sum(weights)

# Calculate the weighted standard deviation
weighted_sd <- sqrt(weighted_variance)

print(weighted_sd)

Output:

[1] 3.853245

Conclusione

La deviazione standard è facile da calcolare, nonostante la formula possa sembrare complessa a prima vista. È uno degli strumenti fondamentali della statistica, e grazie a R diventa ancora più semplice da applicare.Se vuoi avvicinarti alla data science o all’analisi dei dati, dovrai imparare a utilizzare questo indicatore — ti aiuterà a comprendere meglio la coerenza e la variabilità dei tuoi dati.

R
14.10.2025
Reading time: 6 min

Simili

Hai domande,
commenti o dubbi?

I nostri professionisti sono disponibili per assisterti in ogni momento,
che tu abbia bisogno di aiuto o non sappia da dove iniziare.
Inviaci un'email
Hostman's Support