Saltar al contenido principal

# 9.2: Mediana

$$\newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}}$$

$$\newcommand{\id}{\mathrm{id}}$$ $$\newcommand{\Span}{\mathrm{span}}$$

( \newcommand{\kernel}{\mathrm{null}\,}\) $$\newcommand{\range}{\mathrm{range}\,}$$

$$\newcommand{\RealPart}{\mathrm{Re}}$$ $$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$

$$\newcommand{\Argument}{\mathrm{Arg}}$$ $$\newcommand{\norm}[1]{\| #1 \|}$$

$$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$

$$\newcommand{\Span}{\mathrm{span}}$$

$$\newcommand{\id}{\mathrm{id}}$$

$$\newcommand{\Span}{\mathrm{span}}$$

$$\newcommand{\kernel}{\mathrm{null}\,}$$

$$\newcommand{\range}{\mathrm{range}\,}$$

$$\newcommand{\RealPart}{\mathrm{Re}}$$

$$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$

$$\newcommand{\Argument}{\mathrm{Arg}}$$

$$\newcommand{\norm}[1]{\| #1 \|}$$

$$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$

$$\newcommand{\Span}{\mathrm{span}}$$ $$\newcommand{\AA}{\unicode[.8,0]{x212B}}$$

$$\newcommand{\vectorA}[1]{\vec{#1}} % arrow$$

$$\newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow$$

$$\newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vectorC}[1]{\textbf{#1}}$$

$$\newcommand{\vectorD}[1]{\overrightarrow{#1}}$$

$$\newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}}$$

$$\newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}}$$

$$\newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}}$$

La mediana es el valor medio después de ordenar todo el conjunto de valores. Usemos la variable cleand-up height_NONa creada anteriormente para determinar esto para los datos de altura NHANES. Primero ordenamos los datos en orden de sus valores:

height_sorted <- sort(height_noNA)

A continuación encontramos el valor de la mediana. Si hay un número impar de valores en la lista, entonces este es solo el valor en el medio, mientras que si el número de valores es par entonces tomamos el promedio de los dos valores medios. Podemos determinar si el número de ítems es par dividiendo la longitud por dos y viendo si hay un resto; lo hacemos usando el operador%%, que se conoce como el módulo y devuelve el resto:

5 %% 2
## [1] 1

Aquí probaremos si el resto es igual a uno; si lo es, entonces tomaremos el valor medio, de lo contrario tomaremos el promedio de los dos valores medios. Podemos hacer esto usando una estructura if/else, que ejecuta diferentes procesos dependiendo de cuál de los argumentos sea verdadero:

if (logical value) {
functions to perform if logical value is true
} else {
functions to perform if logical value is false

}

Hagamos esto con nuestros datos. Para encontrar el valor medio cuando el número de elementos es impar, dividiremos la longitud y luego redondearemos, usando la función ceiling ():

if (length(height_sorted) %% 2 == 1){
# length of vector is odd
median_height <- height_sorted[ceiling(length(height_sorted) / 2)]
} else {
median_height <- (height_sorted[length(height_sorted) / 2] +
height_sorted[1 + length(height_sorted) / (2)])/2
}

median_height
## [1] 165