Examen Rstudio

Author

Yair Reyes Jacinto



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 penguins de 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 289

1.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 \* y

En 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 5

Comenta 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 casos

4 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 tapply

En 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?