##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
El universo de Star Wars es una de las mejores sagas cinematográficas, icónica, significativa, abarcando múltiples trilogías, personajes memorables y un trasfondo narrativo excelente. El conjunto de datos starwars, disponible en el paquete dplyr de R, ofrece una oportunidad para explorar este universo desde una perspectiva analítica. Este conjunto incluye información sobre 87 personajes, con variables como nombre, altura, peso, especie, género, planeta de origen, películas en las que aparecen, naves y vehículos pilotados. Este análisis, utiliza visualizaciones de datos para descubrir patrones en la representación, rasgos físicos y roles narrativos de los personajes, proporcionando una visión cuantitativa de la diversidad y dinámica de Star Wars.
Analizar las características físicas, demográficas y narrativas de los personajes del conjunto de datos starwars para identificar patrones que reflejen su representación y relevancia en la saga Star Wars.
Determinar qué especies y personajes individuales tienen mayor presencia en las películas de Star Wars.
Identificar las especies con personajes más pesados y altos, destacando ejemplos representativos.
Explorar qué vehículos son más utilizados y quiénes son sus pilotos, conectando su uso con contextos narrativos.
Analizar la distribución de peso por género y especie, evaluando diferencias en la representación física.
El conjunto de datos starwars, disponible en el paquete
dplyr de R, contiene información sobre 87 personajes del
universo ficticio de Star Wars. Este conjunto incluye
características físicas como altura, peso y color de cabello, así como
detalles sobre el año de nacimiento, género, especie y planeta de origen
de cada personaje. Además, registra su participación en películas,
vehículos y naves espaciales de la franquicia. Los datos son ideales
para explorar patrones en las características de los personajes y sus
relaciones dentro del universo de Star Wars.
Fuente de los datos:
El conjunto starwars forma parte del paquete
dplyr, una biblioteca de R para la manipulación de datos.
Según la documentación oficial, los datos provienen de SWAPI (Star Wars
API, https://swapi.py4e.com/), una interfaz pública que
recopila información de la franquicia Star Wars a partir de
fuentes como wikis oficiales (por ejemplo, Wookieepedia). Los datos
originales de SWAPI fueron revisados para mejorar las determinaciones de
sexo y género de los personajes, y organizados en un formato de
tibble para fines educativos en R. No se cita un artículo
académico específico como fuente.
Tabla de resumen de variables:
| Variable | Descripción |
|---|---|
| name | Nombre del personaje. |
| height | Altura del personaje en centímetros (int). |
| mass | Peso del personaje en kilogramos (double). |
| hair_color | Color del cabello del personaje (chr). |
| skin_color | Color de la piel del personaje (chr). |
| eye_color | Color de los ojos del personaje (chr). |
| birth_year | Año de nacimiento del personaje en años antes de la Batalla de Yavin, BBY (double). |
| sex | Sexo biológico del personaje (chr: male, female, hermaphrodite, none, etc.). |
| gender | Género del personaje (chr: masculine, feminine, etc.). |
| homeworld | Planeta de origen del personaje (chr). |
| species | Especie del personaje (chr: Human, Droid, Wookiee, etc.). |
| films | Lista de películas en las que aparece el personaje. |
| vehicles | Lista de vehículos que el personaje utiliza. |
| starships | Lista de naves espaciales que el personaje pilota. |
data(starwars)
starwars[starwars$species== "Human", ]
## # A tibble: 39 × 14
## name height mass hair_color skin_color eye_color birth_year sex gender
## <chr> <int> <dbl> <chr> <chr> <chr> <dbl> <chr> <chr>
## 1 Luke Sk… 172 77 blond fair blue 19 male mascu…
## 2 Darth V… 202 136 none white yellow 41.9 male mascu…
## 3 Leia Or… 150 49 brown light brown 19 fema… femin…
## 4 Owen La… 178 120 brown, gr… light blue 52 male mascu…
## 5 Beru Wh… 165 75 brown light blue 47 fema… femin…
## 6 Biggs D… 183 84 black light brown 24 male mascu…
## 7 Obi-Wan… 182 77 auburn, w… fair blue-gray 57 male mascu…
## 8 Anakin … 188 84 blond fair blue 41.9 male mascu…
## 9 Wilhuff… 180 NA auburn, g… fair blue 64 male mascu…
## 10 Han Solo 180 80 brown fair brown 29 male mascu…
## # ℹ 29 more rows
## # ℹ 5 more variables: homeworld <chr>, species <chr>, films <list>,
## # vehicles <list>, starships <list>
Descripción: Podemos observar los elementos del conjunto de datos en donde la especie es humano
peliculas <- starwars %>%
mutate(num_films = lengths(films)) %>%
filter(!is.na(species), !is.na(name), num_films > 0)
peliculas_filtradas <- peliculas %>%
filter(num_films >= 3)
ggplot(data = peliculas_filtradas, aes(x = species, y = num_films, color = species, label = name)) +
geom_point(size = 3, alpha = 0.7, position = position_jitter(width = 0.2)) +
geom_text_repel(size = 3, max.overlaps = Inf) +
labs(title = "Personajes con más apariciones por especie",
x = "Especie", y = "Número de películas") +
theme_minimal() +
theme(legend.position = "none", axis.text.x = element_text(angle = 45, hjust = 1))
Descripción: Este gráfico de dispersión muestra la relación entre la especie de un personaje (eje X) y el número de películas en las que aparece (eje Y). Cada punto representa un personaje individual, coloreado por especie y etiquetado con su nombre. Los puntos están ligeramente dispersos (position_jitter) para evitar superposiciones, y las etiquetas usan geom_text_repel para claridad.
Interpretación: La gráfica revela que las especies Human y Droid tienen los personajes con más apariciones, con nombres icónicos como Luke Skywalker, Obi-Wan Kenobi, C-3PO y R2-D2 apareciendo en 5-6 películas. La especie Wookiee también destaca con Chewbacca en 4 películas. Esto sugiere que los humanos y droides son centrales en la narrativa de Star Wars, posiblemente debido a su rol como héroes como Obi Wan y Luke, o compañeros constantes como R2-D2. Es interesante notar que especies con un solo representante, como Yoda’s species (Yoda, 5 películas), tienen una relevancia desproporcionada, reflejando su impacto narrativo.
peso_personajes <- starwars %>%
filter(!is.na(mass), !is.na(species), !is.na(name), mass < 1000)
ggplot(data = peso_personajes, aes(x = species, y = mass, color = species, label = name)) +
geom_point(size = 3, alpha = 0.7, position = position_jitter(width = 0.2)) +
geom_text_repel(size = 3, max.overlaps = 20) +
labs(title = "Personajes más pesados por especie",
x = "Especie", y = "Peso (kg)") +
theme_minimal() +
theme(legend.position = "none", axis.text.x = element_text(angle = 45, hjust = 1))
## Warning: ggrepel: 16 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps
Descripción: Este gráfico de dispersión muestra la relación entre la especie de un personaje (eje X) y su peso en kilogramos (eje Y). Cada punto representa un personaje, coloreado por especie y etiquetado con su nombre. Los puntos están dispersos para evitar superposiciones, y las etiquetas son claras gracias a geom_text_repel.
Interpretación: La gráfica revela que personajes como General Grievous (Kaleesh, 159 kg) y Darth Vader (Human, 136 kg) son los más pesados, mientras que personajes como Ratts Tyerell (Aleena, 15 kg) y Yoda (Yoda’s species, 17 kg) son los más ligeros. Especies como Wookiee (Chewbacca, 112kg) también destacan por su peso. Esto sugiere que ciertas especies, como Kaleesh o Wookiees, tienden a tener personajes físicamente imponentes, mientras que otras, como Aleena, son notablemente ligeras. La variedad de pesos en humanos (desde Darth Vader hasta Leia Organa) refleja su diversidad física en la saga.
vehiculos <- starwars %>%
mutate(vehicle_names = sapply(vehicles, function(x) paste(x, collapse = ", "))) %>%
filter(!is.na(name), lengths(vehicles) > 0) %>%
tidyr::separate_rows(vehicles, sep = ", ") %>%
filter(vehicles != "") %>%
group_by(vehicles) %>%
summarise(users = paste(name, collapse = ", "), num_users = n()) %>%
ungroup()
ggplot(data = vehiculos, aes(x = num_users, y = rep(1, length(num_users)), color = vehicles, label = paste(vehicles, ":", users))) +
geom_point(size = 3, alpha = 0.7, position = position_jitter(height = 0.2)) +
scale_x_continuous(breaks = seq(min(vehiculos$num_users), max(vehiculos$num_users), by = 1)) +
geom_text_repel(size = 3, max.overlaps = 20) +
labs(title = "Vehículos más utilizados y quiénes los usaron",
x = "Número de personajes que usaron el vehículo", y = "") +
theme_minimal() +
theme(legend.position = "none", axis.text.y = element_blank(), axis.ticks.y = element_blank())
Descripción: Este gráfico de dispersión muestra el número de personajes que usaron cada vehículo (eje X), con un eje Y constante para visualización. Cada punto representa un vehículo, coloreado por vehículo y etiquetado con el nombre del vehículo y sus usuarios. La escala del eje X está ajustada para mostrar enteros, y las etiquetas usan geom_text_repel.
Interpretación: La gráfica destaca que el Snowspeeder es el vehículo más compartido, usado por Luke Skywalker y Wedge Antilles, seguido por el Tribubble bongo (Obi-Wan Kenobi, Qui-Gon Jinn). La mayoría de los vehículos, como el Zephyr-G swoop bike (Anakin Skywalker) o la Imperial Speeder Bike (Leia Organa), tienen un solo usuario. Esto sugiere que los vehículos en Star Wars suelen estar asociados a personajes específicos, con excepciones como el Snowspeeder, que refleja escenas de acción compartidas.
genero_masa <- starwars %>%
filter(!is.na(species), !is.na(gender), !is.na(mass), !is.na(name), mass < 1000) %>%
group_by(species, gender) %>%
mutate(rank_mass = rank(-mass)) %>%
filter(rank_mass <= 2 | rank_mass >= n() - 1) %>%
ungroup()
ggplot(data = genero_masa, aes(x = species, y = mass, color = gender, label = name)) +
geom_point(size = 3, alpha = 0.7, position = position_jitter(width = 0.2)) +
geom_text_repel(size = 3, max.overlaps = 20) +
labs(title = "Género y peso por especie (personajes más/menos pesados)",
x = "Especie", y = "Peso (kg)", color = "Género") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Descripción: Este gráfico de dispersión muestra el peso de los personajes (eje Y) por especie (eje X), coloreado por género (masculine, feminine) y etiquetado con nombres. Se incluyen los dos personajes más pesados y los dos menos pesados por cada combinación de especie y género, con dispersión para claridad.
Interpretación: La gráfica muestra que los personajes masculinos, como Darth Vader (Human, 136 kg) y Chewbacca (Wookiee, 112kg), tienden a ser más pesados, mientras que personajes femeninos como Leia Organa (Human, 49 kg) son más ligeros. Especies como Yoda’s species (Yoda, 17 kg, masculino) tienen pesos bajos. La distribución sugiere que los humanos tienen una amplia gama de pesos por género, mientras que otras especies (como Wookiees) son más uniformes. Esto refleja la diversidad física en Star Wars, donde el género puede influir en la representación de rasgos físicos, especialmente en humanos.
starwars_empire <- starwars %>%
mutate(in_empire = sapply(films, function(x) any(grepl("The Empire Strikes Back", x)))) %>%
filter(in_empire, !is.na(species), !is.na(name)) %>%
group_by(species) %>%
summarise(num_characters = n(), characters = paste(name, collapse = ", ")) %>%
filter(num_characters > 0)
ggplot(data = starwars_empire, aes(x = reorder(species, -num_characters), y = num_characters, fill = species)) +
geom_bar(stat = "identity", color = "black") +
geom_text(aes(label = characters), vjust = -0.5, size = 3) +
labs(title = "Personajes por especie en El Imperio Contraataca",
x = "Especie", y = "Número de personajes", fill = "Especie") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1), legend.position = "none")
Descripción: Este diagrama de barras muestra el número de personajes por especie (eje X) en Star Wars: Episodio V - El Imperio Contraataca (eje Y). Cada barra está coloreada por especie y etiquetada con los nombres de los personajes.
Interpretación: La especie Human domina con personajes como Obi-Wan Kenobi, Han Solo, Leia Organa, y Lando Calrissian, seguida por Droid (C-3PO, R2-D2, IG-88). Especies como Wookiee (Chewbacca), Trandoshan (Bossk), y Yoda’s species (Yoda) tienen un solo representante. Esto refleja la centralidad de los humanos en la narrativa de El Imperio Contraataca, con droides como compañeros clave y especies únicas como Yoda aportando un impacto significativo pese a su baja representación.
altura_especies <- starwars %>%
filter(!is.na(height), !is.na(species), !is.na(name)) %>%
group_by(species) %>%
summarise(
avg_height = mean(height, na.rm = TRUE),
tallest = name[which.max(height)],
tallest_height = max(height, na.rm = TRUE)
) %>%
filter(avg_height > 0) %>%
arrange(desc(avg_height)) %>%
slice_head(n = 5)
ggplot(data = altura_especies, aes(x = reorder(species, -avg_height), y = avg_height, fill = species)) +
geom_bar(stat = "identity", color = "black") +
geom_text(aes(label = paste(tallest, "(", tallest_height, "cm)")), vjust = -0.5, size = 3) +
labs(title = "Especies con personajes más altos (promedio)",
x = "Especie", y = "Altura promedio (cm)", fill = "Especie") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1), legend.position = "none")
Descripción: Este diagrama de barras muestra las cinco especies con mayor altura promedio (eje Y) por especie (eje X). Cada barra está coloreada por especie y etiquetada con el nombre del personaje más alto y su altura.
Interpretación: La especie Quermian lidera con Yarael Poof (264 cm), seguida por Wookiee (Tarfful, 234 cm), Kaminoan, Kaleesh, y Gungan (Roos Tarpals). Esto sugiere que especies como Quermians y Wookiees son físicamente imponentes, mientras que otras, como Gungans, tienen representantes altos pero menos extremos. La altura de Yarael Poof destaca como un caso único, mientras que los Wookiees refuerzan su imagen robusta en Star Wars.
nombre_pelicula <- starwars %>%
filter(!is.na(name)) %>%
mutate(num_films = lengths(films)) %>%
select(name, num_films) %>%
arrange(desc(num_films)) %>%
slice_head(n = 15)
ggplot(data = nombre_pelicula, aes(x = reorder(name, -num_films), y = num_films, fill = name)) +
geom_bar(stat = "identity", color = "black") +
geom_text(aes(label = num_films), vjust = -0.5, size = 3) +
labs(title = "Personajes que más aparecen en películas",
x = "Personaje", y = "Número de películas", fill = "Personaje") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1), legend.position = "none")
Descripción: Este diagrama de barras muestra los 15 personajes de Star Wars con mayor número de apariciones en películas. El eje X lista los nombres de los personajes, ordenados de mayor a menor número de películas (eje Y). Cada barra está coloreada por personaje y etiquetada con el número exacto de películas en las que aparece.
Interpretación: La gráfica destaca a R2-D2 como el personaje con más apariciones (7 películas), seguido por C-3PO y Obi-Wan Kenobi (6 películas cada uno). Personajes como Luke Skywalker, Leia Organa, Chewbacca, Yoda y Palpatine comparten 5 apariciones, mientras que Darth Vader y Han Solo tienen 4. Es notable que los droides (R2-D2, C-3PO) superen a los humanos en apariciones, lo que puede reflejar su rol como conectores narrativos a lo largo de las trilogías. La presencia de personajes como Wedge Antilles (3 películas) en el ranking sugiere que incluso personajes secundarios pueden tener una representación significativa. Este análisis resalta la importancia de los personajes recurrentes en la cohesión de la saga Star Wars.
El análisis del conjunto de datos starwars revela patrones significativos sobre la representación y relevancia de los personajes en la saga Star Wars como el dominio de humanos y droides, en peliculas.
Especies como Kaleesh, Wookiee, y Quermian destacan por su peso y altura, reflejando su diseño imponente. Los humanos muestran una amplia variedad de pesos, lo que conecta con sus diversos roles narrativos.
Vehículos como el Snowspeeder son compartidos en distintas escenas, mientras que la mayoría, como el Zephyr-G swoop bike, están ligados a personajes específicos.
Los personajes masculinos tienden a ser más pesados, mientras que los femeninos son más ligeros. Los humanos muestran mayor variabilidad de peso por género.