In R trabajaremos con objetos y funciones. In capítulos anteriores hemos empezado a crear objetos, fundamentalmente vectores y matrices. In la presente entrega, vamos a estudiar las funciones básicas de estadística descriptiva.

Como funciones de medida de tendencia y localización, tendremos:

alturas <- scan() # creamos el objeto alturas con 11 observaciones
1: 1.75 1.67 1.89 1.78 1.54 1.90 1.87
8: 1.67 1.76 1.75 1.90
12:
Read 11 items
mean(alturas)
1.770909
median(alturas)
1.76
min(alturas)
1.54
max(alturas)
1.9
quantile(alturas) # cuartiles
 0%   25%   50%   75%  100%
1.54 1.71 1.76 1.88 1.90
# rango intercuartílico
IQR(alturas)
0.17

Como funciones de medida de dispersión, tenemos:

# cuasivarianza
var(alturas)
0.01320909
# desviación estándar
sd(alturas)
0.1149308

Si deseamos la varianza, hemos de crear in R una función que nos calcule $\frac{n-1}{n} \cdot \text{cuasivarianza}$:

# creamos la función varianza
varianza <- function(x) { 
  ((length(x) - 1) / length(x)) * var(x) 
}

varianza(alturas)
0.01200826

Para crear funciones in R, empleamos function(<parametro1>, ..., <parametroN>) y, para llamarla, hacemos lo mismo que hacemos con las funciones habituales. Esta es la forma de programar con R. Del mismo modo, si deseamos medir el coeficiente de curtosis (momento de orden 4) para medir la asimetría, hemos de crear la función:

kurtosis <- function(x) {
  m4 <- mean((x - mean(x))^4)
  kurt <- m4 / (sd(x)^4) - 3
  return(kurt)
}

kurtosis(alturas)
-0.9660813

Con todo lo visto anteriormente, podemos crear una función que nos haga un pequeño análisis descriptivo de un vector:

descriptivos <- function(x) {
  desc <- c(mean(x), varianza(x), min(x), max(x), quantile(x), kurtosis(x))
  nom <- c("Media", "Varianza", "Mínimo", "Máximo", 
           "Cuantil 0", "Cuantil 25", "Cuantil 50", "Cuantil 75", "Cuantil 100", 
           "Kurtosis")
  names(desc) <- nom
  return(desc)
}

descriptivos(alturas)
      Media    Varianza      Mínimo      Máximo   Cuantil 0  Cuantil 25 
 1.77090909  0.01200826  1.54000000  1.90000000  1.54000000  1.71000000 
 Cuantil 50  Cuantil 75 Cuantil 100    Kurtosis 
 1.76000000  1.88000000  1.90000000 -0.96608127 

Creamos la función descriptivos que recibirá un parámetro vector. Obtenemos algunas medidas descriptivas que almacenamos in otro vector y asignamos los nombres de los valores con la función names(); por último, simplemente vemos el vector.

Comenzamos a familiarizarnos con el uso de vectores y funciones in R. In la siguiente entrega, empezaremos a crear estructuras de datos más complejas y realizaremos operaciones con vectores para tomar contacto con los operadores matemáticos y lógicos. Por supuesto, si tenéis alguna duda o sugerencia, estoy in rvaquerizo@analisisydecision.es. Saludos.