2.6 Ejercicios

Para practicar lo visto en este capítulo se proponen los siguientes ejercicios (los enunciados se dan sin solución; las soluciones se distribuyen aparte).

load("data/empleados.RData")

2.6.1 Ejercicio 1: incremento salarial (empleados)

A partir de los datos de empleados (Sección 2.1), calcula para cada empleado el incremento salarial relativo respecto a su salario inicial: incremento = salario / salini - 1. Muestra los 5 empleados con mayor incremento porcentual, junto con su categoría laboral (catlab) y su antigüedad en meses (tiempemp).

Para los siguientes ejercicios se empleará el conjunto de datos starwars (incluido en el paquete dplyr, aunque aquí se usa únicamente como fuente de datos, sin necesidad de emplear sus funciones):

data(starwars, package = "dplyr")
starwars <- as.data.frame(starwars) # para evitar el formato tibble al imprimir

Para el ejercicio de unión de tablas se empleará además la siguiente tabla, creada manualmente, con información de algunos planetas:

planetas <- data.frame(
  homeworld = c("Tatooine", "Naboo", "Alderaan", "Coruscant", "Kamino",
                "Corellia", "Kashyyyk", "Ryloth", "Mirial", "Hoth"),
  region    = c("Outer Rim", "Mid Rim", "Core Worlds", "Core Worlds", "Outer Rim",
                "Core Worlds", "Mid Rim", "Outer Rim", "Outer Rim", "Outer Rim"),
  clima     = c("Desértico", "Templado", "Templado", "Urbano", "Oceánico",
                "Urbano", "Boscoso", "Húmedo", "Templado", "Helado")
)

2.6.2 Ejercicio 2: Filtrado y selección (starwars)

Obtén el nombre, la altura, el peso y el planeta natal (homeworld) de los personajes de especie (species) "Human" con una altura (height) superior a 180 cm.

2.6.3 Ejercicio 3: Creación de una variable y categorización

Calcula el índice de masa corporal (IMC = peso / altura2, con la altura en metros) de cada personaje, descartando aquellos con valores faltantes en peso o altura. A continuación, categoriza el IMC empleando los umbrales estándar de la OMS: menos de 18.5 “Bajo peso”, de 18.5 a 25 “Normal”, de 25 a 30 “Sobrepeso” y 30 o más “Obesidad”. Indica cuántos personajes hay en cada categoría.

2.6.4 Ejercicio 4: Resumen y agrupación

Calcula la altura media y el número de personajes por especie, considerando únicamente las especies con al menos 3 personajes, y ordena el resultado de mayor a menor altura media.

2.6.5 Ejercicio 5: Unión de tablas

Une starwars con planetas por la columna homeworld y muestra, para cada personaje, su nombre, homeworld, región y clima. ¿Qué ocurre con los personajes cuyo planeta no aparece en planetas (o cuyo homeworld es NA)? ¿Y con "Hoth", que está en planetas pero no es el planeta natal de ningún personaje?

2.6.6 Ejercicio 6 (opcional): columnas-lista

starwars incluye columnas que son listas, como films (las películas en las que aparece cada personaje). Calcula en cuántas películas aparece cada personaje y muestra los que más aparecen.