El presente análisis tiene como objetivo explorar el conjunto de
datos starwars del paquete dplyr, el cual
contiene información variada sobre los personajes de la saga Star
Wars.
A través de un análisis exploratorio y la generación de gráficos descriptivos, se busca comprender mejor las características físicas, sociales y de participación de los personajes en el universo de Star Wars, identificando patrones, tendencias y valores atípicos interesantes.
En este proyecto se hace uso de las siguientes librerías:
summary(), cat(), y manejo general de los
datos.## Warning: package 'dplyr' was built under R version 4.5.3
##
## 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 conjunto de datos starwars proviene del paquete
dplyr y contiene información detallada acerca de varios
personajes de la saga cinematográfica Star Wars.
Cada fila representa un personaje único y registra una serie de atributos asociados a dicho personaje, como:
Además, su temática popular hace que el análisis sea accesible e interesante para despertar interés en el análisis de datos en personas de todas las edades seguidoras de esta reconocida saga.
El conjunto de datos starwars proviene del paquete
dplyr, uno de los principales componentes del
ecosistema tidyverse en R.
dplyr fue desarrollado principalmente por Hadley Wickham y su equipo en RStudio (actualmente Posit) con el objetivo de facilitar la manipulación de datos de manera más intuitiva, rápida y eficiente, especialmente enfocándose en tareas comunes como:
Este conjunto de datos fue creado con fines educativos y de demostración, buscando proporcionar un material interesante y accesible para practicar funciones de manipulación y análisis de datos.
La elección de un tema tan popular como Star Wars ayuda a despertar el interés y la motivación en personas de diversas edades y niveles de experiencia.
| Variable | Descripción | Numérica | Categórica |
|---|---|---|---|
| name | Nombre del personaje | x | |
| height | Altura del personaje en centímetros | x | |
| mass | Masa del personaje en kilogramos | x | |
| hair_color | Color de cabello | x | |
| skin_color | Color de piel | x | |
| eye_color | Color de ojos | x | |
| birth_year | Año de nacimiento respecto a la Batalla de Yavin | x | |
| sex | Sexo biológico del personaje | x | |
| gender | Género del personaje | x | |
| homeworld | Mundo natal | x | |
| species | Especie del personaje | x | |
| films | Lista de películas en las que aparece el personaje | x | |
| vehicles | Lista de vehículos que el personaje ha conducido | x | |
| starships | Lista de naves espaciales que el personaje ha piloteado | x |
cat("Número de filas (observaciones):", nrow(starwars), "\n")
## Número de filas (observaciones): 87
cat("Número de columnas (variables):", ncol(starwars), "\n")
## Número de columnas (variables): 14
colSums(is.na(starwars))
## name height mass hair_color skin_color eye_color birth_year
## 0 6 28 5 0 0 44
## sex gender homeworld species films vehicles starships
## 4 4 10 4 0 0 0
arias variables presentan valores perdidos. Las columnas con más NAs
son birth_year, mass y
hair_color. Esto se debe a que muchos personajes no tienen
registrada esa informacion debido a que pueden ser droides, a un droide
no se le puede calcular tan facilmente la edad y tampoco el color de
cabello (no tiene).
glimpse(starwars)
## Rows: 87
## Columns: 14
## $ name <chr> "Luke Skywalker", "C-3PO", "R2-D2", "Darth Vader", "Leia Or…
## $ height <int> 172, 167, 96, 202, 150, 178, 165, 97, 183, 182, 188, 180, 2…
## $ mass <dbl> 77.0, 75.0, 32.0, 136.0, 49.0, 120.0, 75.0, 32.0, 84.0, 77.…
## $ hair_color <chr> "blond", NA, NA, "none", "brown", "brown, grey", "brown", N…
## $ skin_color <chr> "fair", "gold", "white, blue", "white", "light", "light", "…
## $ eye_color <chr> "blue", "yellow", "red", "yellow", "brown", "blue", "blue",…
## $ birth_year <dbl> 19.0, 112.0, 33.0, 41.9, 19.0, 52.0, 47.0, NA, 24.0, 57.0, …
## $ sex <chr> "male", "none", "none", "male", "female", "male", "female",…
## $ gender <chr> "masculine", "masculine", "masculine", "masculine", "femini…
## $ homeworld <chr> "Tatooine", "Tatooine", "Naboo", "Tatooine", "Alderaan", "T…
## $ species <chr> "Human", "Droid", "Droid", "Human", "Human", "Human", "Huma…
## $ films <list> <"A New Hope", "The Empire Strikes Back", "Return of the J…
## $ vehicles <list> <"Snowspeeder", "Imperial Speeder Bike">, <>, <>, <>, "Imp…
## $ starships <list> <"X-wing", "Imperial shuttle">, <>, <>, "TIE Advanced x1",…
Se observan las variables numéricas: height, mass y birth_year. height tiene valores que van desde aproximadamente 66 cm hasta 264 cm.mass muestra pesos desde 15 kg hasta 1358 kg, aunque hay valores atipicos. birth_year cubre una amplia gama, incluyendo personajes con nacimiento hace muchos años antes de la Batalla de Yavin 896 BBY (Yoda) hasta 19 BBY.
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.3
ggplot(starwars, aes(x = height, y = mass)) +
geom_point(na.rm = TRUE) +
labs(title = "Altura vs Masa de personajes Star Wars")
se grafico la relación entre el tamaño físico y el peso de los personajes, en general se observa una tendencia positiva ya que los personajes mas altos tienden a ser mas pesados, pero tambien tenemos valores atipicos donde la altura es promedio pero el peso es extremadamente alto (seguramente es jabba the hutt) lo que causa una distrosion en el grafico y su escala.
starwars %>%
count(species, sort = TRUE) %>%
slice_head(n = 10) %>%
ggplot(aes(x = reorder(species, n), y = n)) +
geom_col() +
coord_flip() +
labs(title = "Top 10 especies en Star Wars")
Top 10 especies con mayor presencia en el dataset, ordenada de mayor a menor siendo dominada por los humanos, lo que refleja que la historia del universo de Star Wars esta centrada principalmente en humanos acompañados por los droides y diversidad de especies no humanas, como chewbacca que es un wookie o Jar Jar binks que es un gungan