Nella tabella a lato sono riportati gli esiti dei rilevamenti della pressione arteriosa massima in un gruppo di maschi quarantenni (nella colonna 1 i valori, nella 2 le frequenze assolute). I dati sono espressi in millimetri di mercurio (mm Hg) e arrotondati alle cinquine.
Determiniamone mediana, distanza interquartile, media, varianza e s.q.m..
951
1001
1052
1103
1155
1206
12510
13015
135  21
140  19
14514
15013
 1558
1605
1654
1703
1753
1802
Ecco la soluzione con il programma R:

Primo modo:

pressio1 <- seq(95,180,5)
fr <- c(1,1,2,3,5,6,10,15,21,19,14,13,8,5,4,3,3,2)
pressio <- rep(pressio1, fr)
hist(pressio)
dev.new()
hist(pressio,probability=TRUE)
# scelgo un n. di classi maggiore, "circa" 20:
hist(pressio,probability=TRUE,nclass=20,col="yellow")
abline(h=axTicks(2),lty=3)
summary(pressio)
#   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
#   95.0   130.0   140.0   139.3   150.0   180.0
IQR(pressio)
#  20
varianza <- function(dati) sum((dati-mean(dati))^2)/length(dati)
sqm <- function(dati) sqrt(varianza(dati))
varianza(pressio); sqm(pressio)
#  266.8587  16.33581
dev.new()
boxplot(pressio,horizontal=TRUE,range=0,col="yellow")

Secondo modo (in cui suppongo che i dati siano distribuiti negli intervallini: è un procedimento un po' più complesso).

pressio <- seq(95,180,5)
fr <- c(1,1,2,3,5,6,10,15,21,19,14,13,8,5,4,3,3,2)
# Costruisco gli intervalli [92.5,97.5),...,[177.5,182.5)
interv <- pressio-2.5; interv <- c(interv,182.5)
num_int <- length(fr)
# uso (a scatola nera) questo procedimento
freq <- fr
source("http://macosa.dima.unige.it/R/daticlas.txt")
#  Min.  1st Qu.  Median   Mean   3rd Qu.  Max.
#  92.5   129.4   138.4   139.3   149.1   182.5
abline(v=axTicks(1),lty=3)
dev.new()
boxplot(XxXx,horizontal=TRUE,range=0)

# La deviazione standard è 16.4:
IQR(XxXx); sd(XxXx)
# 19.71844  16.40055

[1]