Examen Rstudio
Introducción
Este examen práctico está diseñado para que el estudiante demuestre, de forma aplicada , su comprensión de:
Uso básico de R como calculadora.
Tipos de datos y estructuras (vectores, data frames).
Exploración de datos con el dataset
penguinsde la librería palmerpenguins.Gráficos básicos en R base.
Visualización con ggplot2 .
Sigue las instrucciones paso a paso. Donde se indique, debes escribir código en R y ejecutarlo.
1. R como calculadora y objetos básicos
1.1 Operaciones aritméticas
En un chunk de código, realiza las siguientes operaciones:
# a) Suma, resta, multiplicación y división
# (completa y ejecuta)
# b) Calcula (25 + 7) / 4
# c) Calcula 3^5
# d) Calcula la raíz cuadrada de 2891.2 Asignación de objetos
Crea dos objetos y realiza operaciones con ellos:
Copiar código
# Crea los objetos
x <- 15
y <- 4
# a) Suma de x e y
# b) División de x entre y
# c) Redefine x como x + 10 y luego calcula x \* yEn una o dos frases, explica qué significa “asignar” un valor a un objeto en R.
2 Tipos de datos y vectores
2.1 Tipos de datos
En un chunk de código, crea un objeto de cada tipo:
numérico
carácter (string)
lógico
factor
Copiar código
# Crea un objeto numérico
num_obj <-
# Crea un objeto carácter
char_obj <-
# Crea un objeto lógico
log_obj <-
# Crea un factor con los niveles "Control" y "Caso"
grupo <- factor(c("Control", "Caso", "Caso", "Control"))
# Inspecciona las clases
class(num_obj)
class(char_obj)
class(log_obj)
class(grupo)En texto, responde brevemente:
¿Qué ventaja tiene usar factores para representar grupos biológicos (por ejemplo, “Control” vs “Caso”)?
2.2 Vectores (ejemplo biológico)
Crea un vector con concentraciones de una citocina (IL-6) en suero (en pg/mL):
Copiar código
# Concentraciones simuladas de IL-6
il6 <- c(3.2, 5.8, 10.1, 2.9, 7.3)
# Calcula:
# a) La media
# b) La desviación estándar
# c) El valor mínimo y máximo
# d) Cuántos valores están por encima de 5Comenta brevemente:
Si el punto de corte clínico para IL-6 elevada fuera 6 pg/mL, ¿cuántas muestras estarían “elevadas” según tu vector?
3 Data frames: creación y manipulación básica
3.1 Creación de un data frame simple
Crea un data frame llamado inmuno_df con la siguiente información:
paciente: “P1”, “P2”, “P3”, “P4”
grupo: “Control”, “Caso”, “Caso”, “Control”
CD4 (células/µL): 750, 320, 410, 680
IL6_pgml (pg/mL): 2.5, 8.1, 5.4, 3.0
#Copiar código
inmuno_df <- data.frame(
paciente = c("P1", "P2", "P3", "P4"),
grupo = c("Control", "Caso", "Caso", "Control"),
CD4 = c(750, 320, 410, 680),
IL6_pgml = c(2.5, 8.1, 5.4, 3.0)
)
# Visualiza el data frame
inmuno_df
# Inspecciona la estructura
str(inmuno_df)
# Obtén un resumen
summary(inmuno_df)3.2 Operaciones básicas con el data frame
En código:
Extrae solo la columna CD4.
Calcula la media de CD4 para todos los pacientes.
Extrae solo las filas donde el grupo sea “Caso”.
Calcula la media de IL6_pgml solo en los casos.
Copiar código
# 1) Columna CD4
# 2) Media CD4 (todos)
# 3) Filas donde grupo == "Caso"
# 4) Media de IL6_pgml en los casos4 Uso del dataset penguins (palmerpenguins)
En esta sección trabajarás con un dataset real.
4.1 Carga del dataset
En un chunk de código:
Instala palmerpenguins si no lo tienes.
Carga la librería.
Carga el dataset penguins.
Muestra las primeras filas con head().
#Copiar código
install.packages("palmerpenguins")
# Ejecutar si no está instalado
library(palmerpenguins)
data("penguins")
# Ver primeras filas
head(penguins)4.2 Exploración inicial
En código:
Ejecuta dim(penguins) para ver dimensiones.
Ejecuta str(penguins) para ver estructura.
Ejecuta summary(penguins) para ver un resumen.
# Copiar código
dim(penguins)
str(penguins)
summary(penguins)Responde en texto:
¿Cuántas filas (individuos) y columnas (variables) tiene el dataset?
Menciona al menos 3 variables numéricas y 3 variables categóricas.
4.3 Acceso a columnas y estadísticos simples
En código:
Extrae la columna body_mass_g.
Calcula la media de body_mass_g (usa na.rm = TRUE).
Calcula la desviación estándar de flipper_length_mm.
Usa tapply() para calcular la media de masa corporal por especie.
#Copiar código
# 1) Columna body_mass_g
# 2) Media de body_mass_g
# 3) Desviación estándar de flipper_length_mm
# 4) Media de body_mass_g por especie con tapplyEn texto:
¿Qué especie parece tener mayor masa corporal promedio según tus resultados?
5 Gráficos en R base con penguins
5.1 Scatter plot básico
Genera un gráfico de dispersión en R base:
Eje X: bill_length_mm
Eje Y: body_mass_g
Título: “Longitud de pico vs masa corporal”
Etiquetas de ejes apropiadas.
#Copiar código
plot(
penguins$bill_length_mm,
penguins$body_mass_g,
main = "Longitud de pico vs masa corporal",
xlab = "Longitud del pico (mm)",
ylab = "Masa corporal (g)"
)En texto:
Describe brevemente qué tipo de relación observas entre longitud de pico y masa corporal.
5.2 Boxplot por especie
Genera un boxplot en R base de body_mass_g por species:
Copiar código
boxplot(
body_mass_g \~ species,
data = penguins,
main = "Masa corporal por especie",
xlab = "Especie",
ylab = "Masa corporal (g)"
)En texto:
¿Se observan diferencias claras entre especies? ¿Cuál parece más pesada?
5.3 Histograma
Genera un histograma de bill_length_mm:
Copiar código
hist(
penguins$bill_length_mm,
main = "Histograma de longitud de pico",
xlab = "Longitud del pico (mm)"
)En texto:
¿La distribución de la longitud del pico parece simétrica, sesgada a la derecha o a la izquierda?