Ejemplo 2

Vamos a considerar datacrab. Para nuestro estudio, trabajaremos únicamente con la variable width.

Llevaremos a cabo los 4 pasos explicados con anterioridad: cálculo de intervalos, determinación de la amplitud, cálculo de los extremos y marcas de clase.

crab = read.table("https://raw.githubusercontent.com/joanby/r-basic/master/data/datacrab.txt", header = TRUE, stringsAsFactors = TRUE, sep = " ")

cw = crab$width

Calcular el número de clases

Regla de la raíz cuadrada

n = length(cw)
k1 = ceiling(sqrt(n))
k1
## [1] 14

Regla de Sturges

k2 = ceiling(1+log2(n))
k2
## [1] 9

Regla de Scott

As = 3.5*sd(cw)*n^(-1/3) #(amplitud teórica)
k3 = ceiling(diff(range(cw))/As)
k3
## [1] 10

Regla de Freedman-Diaconis

Afd = 2*(quantile(cw,0.75, names=FALSE)-quantile(cw,0.25,names=FALSE))*n^(-1/3)
k4 = ceiling(diff(range(cw))/Afd)
k4
## [1] 13

Cálculos automáticos

nclass.Sturges(cw)
## [1] 9
nclass.scott(cw)
## [1] 10
nclass.FD(cw)
## [1] 13

De momento, vamos a seguir la Regla de Scott. Es decir, vamos a considerar 10 intervalos

Amplitud de los intervalos

A = diff(range(cw)) / 10
A
## [1] 1.25

Como nuestros datos están expresados en mm con una precisión a una cifra decimal, el resultado obtenido debe redondearse a la siguiente cifra decimal. Por lo tanto la amplitud será de.

A = 1.3
A
## [1] 1.3

Recordad que si el cociente nos hubiera dado un valor exacto con respecto a la precisión, tendríamos que haberle sumado una unidad de precisión.

Extremos de los intervalos

Toca calcular los extremos \(L_1,\dots,L_{11}\) de los intervalos.

Recordad que nuestros intervalos tendrán la siguiente forma:

\[[L_1,L_2), \dots , [L_{10}, L_{11})\]

Calculamos el primer extremo:

L1 = min(cw) - (1/2 * 0.1)
L1
## [1] 20.95

donde 0.1 es nuestra precisión (décimas de unidad, en este caso).

Forma manual

L2 = L1 + A
L3 = L2 + A
L4 = L3 + A
L5 = L4 + A
L6 = L5 + A
L7 = L6 + A
L8 = L7 + A
L9 = L8 + A
L10 = L9 + A
L11 = L10 + A

L = c(L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11)
L
##  [1] 20.95 22.25 23.55 24.85 26.15 27.45 28.75 30.05 31.35 32.65 33.95

Es imposible que ninguna medida caiga sobre el valor cerrado por construcción del algoritmo

Forma no recursiva

L = L1 + A*(0:10)
L
##  [1] 20.95 22.25 23.55 24.85 26.15 27.45 28.75 30.05 31.35 32.65 33.95

Así, nuestros intervalos será los siquientes.

\[[20.95,22.25),[22.25,23.55),[23.55,24.85),[24.85,26.15),[26.15,27.45),[27.45,28.75),[28.75,30.05),[30.05,31.35),[31.35,32.65),[32.65,33.95),\]