Ejemplo de medidas descriptivas

Lovett et al. (2000) estudiaron la química de las cuencas hidrográficas boscosas en las Montañas Catskill en el estado de Nueva York. Eligieron 39 sitios (observaciones) y midieron las concentraciones de diez variables .

Para la práctica asumiremos que los 39 sitios representan una muestra aleatoria de posibles sitios en el centro de Catskills y nos centraremos en el cálculo de las estimaciones puntuales para dos variables: \(SO_{4}^{2-}\) y \(Cl^{-}\).

Los datos se encuentran en el archivo lovett.csv

## Parsed with column specification:
## cols(
##   STREAM = col_character(),
##   ELEVATN = col_double(),
##   SO4 = col_double(),
##   SO4MOD = col_double(),
##   CL = col_double()
## )

Medidas de tendencia central

Para el ejemplo calcularemos las siguientes medidas descriptivas de tendencia central:

  • la media aritmética cuya función en R es mean(),
  • la mediana median() y

Los argumentos de las funciones anteriores son los siguientes:

x : Un vector númerico que contiene los datos de la variable

na.rm : un valor lógico que indica si los NA valores deben eliminarse antes de que continúe el cálculo.

trim : en el caso que se desee calcular la media recortada indica la fracción (0 a 0,5) de observaciones que se recortarán de cada extremo de x antes de que se calcule la media. Los valores de recorte fuera de ese rango se toman como el punto final más cercano.

Para los cálculos debemos extraer la variable del conjunto de datos lovett,una manera en la que podemos hacer esto es usando la siguiente forma genérica objeto$nombre, donde el objeto sería el nombre del archivo (en nuestro caso lovett) y nombre sería la variable a la cual deseamos calcular el estadístico. Este método permite extraer un sólo elemento a la vez, funciona para data frames y listas, y para el caso de los data frame, el elemento extraído siempre será una columna.

## [1] 61.92308
## [1] 62.1

Medidas de posición

Para obtener el valor mínimo es la función min(), para el valor máximo es la función max().

## [1] 50.6
## [1] 72.1

Para los cuartiles es la función quantile() que devuelve un objeto que contiene los 5 valores correspondientes al valor mínimo, al primer cuartil (0.25) (Q1), al segundo cuartil (0.5) (Q2), al tercer quartil (0.75) (Q3) y al valor máximo.

##    0%   25%   50%   75%  100% 
## 50.60 57.65 62.10 65.65 72.10

Alternativamente podriams calcular cada cuartil por separado de la siguiente forma:

##   25% 
## 57.65
##  50% 
## 62.1
##   75% 
## 65.65

Medidas de dispersión

Para la varianza se utiliza la función var(), para la desviación estándar la función sd(), para el rangorange para el rango intercuartílico IQR()

## [1] 5.241558
## [1] 27.47393
## [1] 50.6 72.1
## [1] 8

Para el coeficiente de variación y el error estándar de la media no existe una función directa en R, pero se pueden calcular con las siguientes instrucciones:

## [1] 0.1343989
## [1] 0.839321

Medidas de forma

Para la asimetría es la función skewness(), para la curtosis es la funciónkurtosis(). Debe instalar el paquete “e1071”

## [1] 0.1511742
## [1] -0.8756607

Ejemplo integrado

Podríamos realizar el cálculo de cada uno de los estadísticos con la siguiente instrucción. Para ello debemos tener cargado previamente el paquete “dplyr”

## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
## Warning: The `x` argument of `as_tibble.matrix()` must have unique column names if `.name_repair` is omitted as of tibble 2.0.0.
## Using compatibility `.name_repair`.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_warnings()` to see where this warning was generated.

Gráficos

En R existen múltiples opciones para la realización de gráficos en este caso utilizaremos la librería “ggplot2” Realizaremos un histograma de frecuencias y un boxplot con la misma variable con la que realizamos los cálculos anteriores

## geom_bar: na.rm = FALSE, orientation = NA
## stat_bin: binwidth = NULL, bins = NULL, na.rm = FALSE, orientation = NA, pad = FALSE
## position_stack
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Veamos cómo podemos modificar el histograma para que quede mejor visualmente.

Otra manera de rellenar las barras del histograma en función del número de apariciones es usando ..count.. en los aesthetics de geom_histogram()

`

En el siguiente link se puede encontrar información sobre opciones de configuración de gráficos creados con ggplot2.

https://ggplot2-book.org/index.html

Tarea

A modo de práctica se debe replicar el ejercicio anterior con la misma variable y además con la variable \(Cl^{-}\)

Bibliografía

Lovett, G.M., Weathers, K.C. & Sobczak, W.V. (2000). Nitrogen saturation and retention in forested watersheds of the Catskill Mountains, New York. Ecological Applications 10: 73–84. https://doi.org/10.1890/1051-0761(2000)010[0073:NSARIF]2.0.CO;2