Instalación de ggplot2
install.packages("ggplot2")Al finalizar esta sesión, el alumnado será capaz de:
Comenzamos la sesión realizando la rutina habitual:
Vamos a instalar dos paquetes de funciones para aumentar la funcionalidad de R. Los paquetes son:
Antes de instalarlo, conviene verificar si ya está disponible en RStudio.
packages Si has tenido problemas, avisa al profesor o profesora responsable.
Otras opciones de instalación: web de BioestadisticaR2
Recuerda que en tu ordenador personal, no es necesario repetir la instalación, basta con haberlo hecho una vez. Lo que si tendrás que repetir son las sentencias library() cada vez que quieras usar un paquete que ya esté instalado.
Algunas de las cuestiones de esta práctica requieren hacer cálculos, pero otras son puramente conceptuales. En estas últimas no habrá nada que operar: lo importante es que el razonamiento quede bien explicado. Ve tomando nota de todo aquello que consideres relevante para ayudarte a consolidar las ideas.
Los siguientes recursos de ayuda aparecen también como enlaces permanentes en el menú de la izquierda de este guion. Al pinchar en ellos, se abrirá una nueva pestaña en el navegador, no perderás la vista actual:
En un centro de salud se quiere conocer el nivel medio de glucemia en ayunas de los pacientes con diabetes tipo 2 adscritos al cupo de enfermería. Para ello, se toma una muestra aleatoria simple de \(\small n=63\) pacientes. La glucemia media muestral resultó ser \(\small \bar{x}=142 \text{mg/dL}\) con una desviación típica \(\small s=28 \text{mg/dL}\).
conf. Realiza el cálculo. ¿Qué intervalo es más ancho, el del 95% o el del 99%? ¿Cuál de los dos es más preciso?. Justifica las respuestas dadas.1. y 2. Intenta resolver estas cuestiones, y el resto de las que tienen contenido conceptual, con tu material de clase. Si tienes dudas, plantéalas en la sesión de prácticas.
No olvides tomar notas de los comentarios que se hagan en clase
A continuación se resuelven solo los cálculos:
# 3.
# Podemos escribir los valores numéricos directamente en los argumentos de la
# función, o bien definir un objeto con estos valores
n <- 63
media <- 142
dt <- 28
# Como la información muestral ya está resumida (no son datos sueltos), utilizamos
# los argumentos n, m y s para indicar, respectivamente el tamaño muestral, la media
# la desviación típica
icm(n = n, m = media, s = dt) # ATENCIÓN: resuelve qué sentido tiene aquí poner n=n
# 7.
icm(n = n, m = media, s = dt, conf = 0.99)
# 8.
icm(n = n, m = media, s = dt, conf = 0.90)
# 9.(a) No hay que hacer nada, la precisión obtenida es mayor que la propuesta.
# 9.(b) Hay que determinar el tamaño de muestra necesario. Basta asignar
# la precision deseada al argumento d de la función icm():
icm(n = n, m = media, s = dt, conf = 0.95, d = 5)Ya hemos manejado con anterioridad la base de datos colesterol_01.rds (puedes consultar el guion de la práctica 3 ). Queremos hacer algunas estimaciones sobre los niveles medios de algunos indicadores del metabolismo lipídico. Observa que ahora no tenemos la información resumida como antes, sino que tenemos un data frame con los datos.
## Lectura del archivo .rds desde su ubicación web ----
url_datos <- "https://www.ugr.es/~pfemia/BSRLab/dat/colesterol_01.rds"
datos <- readRDS(url(url_datos))
# como siempre que leemos un archivo de datos, hay que verificar que
# se ha hecho correctamente. Vamos a ver la cabecera del data.frame y
# a hacer un summary()
head(datos)
summary(datos)
# 1. Estimación del nivel medio de colesterol.
# como ahora son datos individuales, no la media, usamos el argumento
# x y no hace falta indicar las medidas de síntesis (ya las calcula la función)
icm(x = datos$colesterol)
# 2.
icm(x = datos$HDL)
icm(x = datos$LDL)
# con HDL sí se tiene la precisión deseada (de hecho, se tiene una mayor).
# Para LDL estimamos el tamaño muestral necesario:
icm(x = datos$LDL, d = 2)
# habría que aumentar el tamaño muestral en 253 sujetos más
# (adicionales a los 150 actuales)
# 3. Hay muchas formas de dividir los datos en función del sexo.
# Vamos a usar una de ellas:
datosM <- datos[datos$sexo == "mujer", ]
datosH <- datos[datos$sexo == "hombre", ]
# observa que con este código conservamos todas las variables en
# cada subgrupo. Cuando el data.frame es muy grande, puede que no
# interese replicarlo todo. Podríamos extraer solo las de interés
# si hacemos:
datosM2 <- datos[datos$sexo == "mujer", c("HDL", "LDL")]
datosH2 <- datos[datos$sexo == "hombre", c("HDL", "LDL")]
# ahora estimamos los valores medios de lipoproteinas en función
# del sexo (podemos usar cualquiera de las dos versiones filtradas)
# ahora estimamos los valores medios de lipoproteinas en función
# del sexo (podemos usar cualquiera de las dos versiones filtradas)
# para mujeres:
icm(datosM$HDL)
icm(datosM$LDL)
# para hombres:
icm(datosH$HDL)
icm(datosH$LDL)En una consulta de Enfermería de Atención Primaria se quiere conocer la prevalencia de hipertensión arterial no controlada (≥140/90 mmHg en consulta) entre los pacientes hipertensos adscritos al centro de salud. Para ello, se selecciona una muestra aleatoria de 120 pacientes hipertensos y se registra su presión arterial. El resultado es que 48 de los 120 casos presentan HTA no controlada.
tabla=TRUE, los métodos son más fácilmente comparables) ¿Por qué hay tantos métodos, no bastaba con uno? ¿Cambia el estimador puntual en función del método utilizado? ¿Qué método proporciona una mayor precisión en este caso? ¿Qué unidades tiene la precisión? ¿Qué método presenta un mayor nivel de confianza?# 1. información muestral
n <- 120 # total de casos observados
x <- 48 # casos observados con HTA
# En general, el estimador puntual es la proporción muestral:
p <- x / n
# de manera que la estimación puntual es
p
# 2.
icp(x = x, n = n) # qué sentido tiene escribir x=x y n=n ¿no es absurdo?
# 3.
icp(x = x, n = n, tabla = TRUE)
# 4.
# Con ninguno de los métodos de estimación se obtiene una precisión del 5%.
# 5. Hay que determinar el tamaño de muestra necesario para d=0.05
# incluimos el argumento d=0.05 para que icp() estime el tamaño muestral:
icp(x = x, n = n, tabla = TRUE, d = 0.05)En la base de datos colesterol_01.rds, aparece una variable que codifica el nivel de actividad física de cada uno de los casos observados.
# 1.
class(datos$nivel_AF)
table(datos$nivel_AF)
# 2. Añadimos el argumento level con la categoría cuya proporción queremos
# estimar
icp(datos$nivel_AF, level = "baja", tabla = TRUE)
# 3. La precisión es del orden del 6%, no llega al 5%. Se debe inferir qué tamaño
# muestral es necesario para aumentarla.
# 4.
icp(datos$nivel_AF, level = "baja", d = 0.05)La base de datos colesterol_01.rds incluye una variable que recoge el consumo energético semanal expresado en equivalentes metabólicos (METs). Se considera que un valor por debajo de 400 MET/semana indica un nivel de actividad física preocupantemente bajo. A modo de referencia, la OMS recomienda un mínimo de 600 a 1200 MET/semana, aunque lo ideal sería superar los 3000 MET/semana para obtener beneficios significativos para la salud.
# 1.
# Dicotomizamos la variable METs en una que llamamos bajomet
bajomet <- ifelse(datos$METs <= 400, 1, 0)
# Obtenemos el intervalo de confianza
icp(bajomet, level = "1")
# 2. Observamos la distribución de bajomet
table(bajomet) # <-- frecuencias absolutas
prop.table(table(bajomet)) # <-- proporciones observadas
# 3.
icp(bajomet, level = "1", d = 0.05)En la unidad de Urgencias de un hospital comarcal, el equipo de Enfermería quiere evaluar la carga asistencial nocturna. Para ello, se decide registrar el número de crisis asmáticas que llegan al servicio entre las 00:00 y las 08:00 horas durante varios días consecutivos.
La literatura sugiere que los episodios de crisis asmática en urgencias pueden modelizarse adecuadamente mediante una distribución de Poisson, donde el parámetro λ representa la media de crisis asmáticas por turno nocturno.
Tras 20 noches de registro, se observa la siguiente secuencia de casos diarios (número de crisis por turno nocturno):
| Turno | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Crisis | 5 | 3 | 4 | 6 | 2 | 4 | 5 | 7 | 3 | 4 | 5 | 6 | 4 | 3 | 5 | 4 | 3 | 6 | 5 | 4 |
¿Por qué no se puede usar en las variables aleatorias de tipo continuo la función de probabilidad?
¿Qué es más útil, un intervalo de confianza ancho o uno estrecho?
¿Puede tomarse un intervalo de confianza con una confianza del 100%? ¿Por qué?
Al lanzar una moneda al aire 20 veces, salen 12 caras. ¿Cuál es la estimación puntual de la probabilidad de cara? ¿Es evidente que la moneda está trucada? ¿Por qué?
Indica si tiene alguna relevancia el teorema del límite central al estimar, mediante un intervalo de confianza, la media de una variable cuantitativa.
Si una variable cuantitativa tiene distribución normal ¿Por qué se usa la distribución t de Student para elaborar el intervalo de confianza?
Indica, razonadamente, si los siguientes enunciados son correctos o no:
En un estudio sobre eventos adversos en una planta del hospital, se observa que 9 de 217 pacientes presentan una reacción adversa a la medicación intravenosa. Se obtiene que \(\small \hat\pi=0.055\) y \(\small 95\%-IC(\pi)=(0.024, 0.086)\).
Señala cuál, o cuáles, de las siguientes afirmaciones es correcta desde el punto de vista inferencial:
Al final aparecen unas soluciones muy resumidas, recuerda que debes intentar resolver los ejercicios por tu cuenta
Utilizando la base de datos colesterol_01.rds que ya debemos tener importada en un data frame llamado datos (de lo contrario revisa cómo importarla en la solución del ejercicio de la Sección 2.1.2), responde a las siguientes cuestiones:
Calcula los índices aterogénicos 1 y 2 (\(\small IA_1=\frac{\text{colesterol}}{\text{HDL}}\) y \(\small IA_1=\frac{\text{LDL}}{\text{HDL}}\)) y estima sus valores medios en hombres y en mujeres, por separado. Si se desea una precisión de la estimación \(\small\delta=0.11\) indica en qué casos se ha conseguido esta precisión y, en su caso, qué habrá que hacer para obtenerla.
Estima, mediante un intervalo al 95% de confianza, la prevalencia de cada uno de los grupos sanguíneos. Se desea obtener una precisión del 5% en la estimación. Para cada grupo, indica si se ha obtenido y, en su caso, qué habrá que hacer para obtenerla.
En un área del hospital, el equipo de Enfermería quiere caracterizar la frecuencia de aparición de infecciones nosocomiales (por ejemplo, bacteriemias asociadas a catéter venoso) en pacientes ingresados. Para ello, se decide registrar durante varias semanas el número de infecciones nuevas que aparecen cada semana en el área.
Los datos registrados en cada semana son:
| semana | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| Infecciones | 2 | 1 | 3 | 0 | 2 | 1 | 4 | 2 | 1 | 2 |
En un hospital se revisan una muestra aleatoria de 120 historias clínicas de los pacientes ingresados en los últimos meses. Se observa que en 18 de ellos se desarrollaron úlceras por presión. Estima la proporción de úlceras para la población de ese hospital. Indica si la precisión observada es del 5% y, en caso negativo, qué habría que hacer para conseguirla.
1.
2.
\(\small 95\%-IC(\lambda)=(1.06, 2.85) \quad (\text{aprox. normal})\). Precisión obtenida: \(\small\delta=0.89\). Tamaño muestral necesario para una precisión de 0.5 \(\small n=43\)
\(\small 90\%-IC(\lambda)=(1.17, 2.68) \quad (\text{aprox. normal})\). Precisión obtenida: \(\small\delta=0.76\). Tamaño muestral necesario para una precisión de 0.5 \(\small n=29\)