## Warning: package 'dplyr' was built under R version 4.4.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
## Warning: package 'ggplot2' was built under R version 4.4.3

Introducción

El presente informe trata acerca de el analisis de datos sobre el dataset Starwars. Se utilizaron las librerias dplyr y ggplot2. Siedo la primera una librería que facilita la manipulación de datos, permitiendo filtrar, ordenar y agrupar datasets de forma efiiente y con una sintaxis sencilla. La libreria ggplot2 es una de las principales herramientas de visualización de datos en R, que permite crear gráficos de alta calidad basados en el concepto de gramática de fráficos, facilitando la exploracion visual de manera estructurada. Conoceremos los tipos de datos del dataset Starwars, ademas de como se relacionan entre ellos con distintos gráficos.

Objetivos

Objetivo General

Analizar y visualizar las caracteristicas de los datos del dataset StarWars, relacionando sus variables.

Objetovos Especificos

  • Identificar relaciones, tendencias entre variables como la altura, peso, genero, y origen de los personajes de StarWars.

  • Visualizar las relaciones desarrollando distintos graficos con distintas variables.

  • Interpretar los resultados y extraer las conclusiones de como se relacionan estos datos.

Descripción de los datos

La variable starwars es un dataset que contiene información de todos los personajes principales y algunos secundarios que han aparecido en las peliculas se Star Wars

Cotiene datos como nombre, genero, año de nacimiento (La mayoria), las peliculas en donde aparecieron, vehiculos o naves asociados y demas datos caracteristicos de cada personaje.

Estos datos se optienen de SWAPI, la cual es una API de starwars.

https://swapi.py4e.com/

Esta es la primera fuente de datos cuantificada acerca del universo se StarWars, donde se pueden acceder a los datos mediante solicitudes HTTP

Los creadores tomaron toda la información relevante de este universo para que pueda ser consumida por otras aplicaciónes.

Los datos ya fueron ordenados y estructurados para facilitar su analisis.

Variable Descripción
name Nombre del personaje
height La altura del personaje en centimetros
mass El peso del personaje en kilogramos
hair_color Color de pelo
skin_color Color de piel
eye_color Color de ojos
sex Sexo del personaje
gender Genero dle personaje o rol de genero
homeworld Planeta de origen del personaje
species Especie del personaje
films Peliculas en donde aparece el personaje
vehicles Vehiculos que se asocian al personaje
starships Naves espaciales asociadas al personaje

Visualizaciones de datos

# En esta parte agregaremos las variables filtradas que se necesitan para los graficos.

filterSW <- starwars %>%
  filter(!is.na(name), !is.na(films)) %>%
  mutate(num_films = lengths(films))

top_species <- starwars %>%
  count(species, sort = TRUE) %>%
  head(10)

filterSWmassHeight <- starwars %>%
  filter(!is.na(mass), !is.na(height)) 

top_homeworlds <- starwars %>%
  count(homeworld, sort = TRUE) %>%
  head(15)

filter_height <- starwars %>%
  filter(!is.na(height))

filter_mass <- starwars %>%
  filter(!is.na(mass))

gender_count <- starwars %>%
  filter(!is.na(gender)) %>%
  count(gender)

eyes_count <- starwars %>%
  filter(!is.na(eye_color)) %>%
  count(eye_color)

height_birth_filter <- starwars %>%
  filter(!is.na(height), !is.na(birth_year)) 

Gráfico 1

# Código R del primer gráfico

ggplot(data = filterSW) + geom_point(mapping = aes(x=num_films, y=name), color = "blue") + 
  labs(title = "Personajes y la cantidad de peliculas", x = "Cantidad de peliculas", y  ="Personajes")

Interpretación del primer gráfico.

Para el primer gráfico, primero filtramos los valoreas que pudieran ser nulos. Graficamos las variables num_films, la cual indica la cantidad de peliculas en donde aparecen los personajes y la variable de name, que indica el nombre del personaje. Lo que se puede observar es a todos los personajes con una marca en la cantidad de péliculas en las que aparecieron. Siento que la mayoria se concentran en una, dos o tres peliculas, siento muy raro que aparezcan en mas de tres peliculas. Dandonos a entender que no todos los personajes de la lista fueron tan importantes como aparecer en varias.

Gráfico 2

# Código R del segundo gráfico

ggplot(data = top_species) + geom_col(mapping = aes(x = species, y = n), fill  = "red") + 
  labs(title = "Top 10 especies más comunes en Star Wars", x = "Especie", y  ="Cantidad")

Interpretación del segundo gráfico.

Antes, hacemos un conteo de las especies que se repiten en el universo de starwars previamente, luego, ordenamos esos datos y filtramos para obtener el dato requerido. En este gráfico podemos ver el top 10 de especies más comunes en las películas de starwars. Siendo los humanos la mayoria en este universo, o al menos en personajes relevantes. Las demas especies van desde una a cinco, incluyendo los personajes donde no se tiene registro de a que especie pertenecen.

Gráfico 3

# Código R del tercer gráfico

ggplot(data = filterSWmassHeight) + geom_point(mapping = aes(x=mass, y=height), color = "green") + 
  labs(title = "Relacióne entre peso y altura de los personajes", x = "Peso", y  ="Altura")

Interpretación del tercer gráfico.

Este gráfico nos muestra la relación entre el peso y la altura de los personajes de este universo. La mayoria de personajes posee una altura entre 150cm a 200cm. No muchos de ellos superan esta cantidad, son muy pocos. Y puede deberse a que son de especies de un rango mayor de altura a la de los humanos. El peso si tiene un rango muy amplio que no se contabiliza en el gráfico. La tendencia que muestra este gráfico es que generalmente a mayor altura mayor peso.

Gráfico 4

# Código R del cuarto gráfico

ggplot(data = top_homeworlds) + geom_col(mapping = aes(x = homeworld, y = n), fill  = "orange") + 
  labs(title = "Top 15 planetas de origen más comunes", x = "Mundo de Origen", y  ="Cantidad")

Interpretación del cuarto gráfico.

En este gráfico se usan las variables de homeworld y un conteo de la cantidad de planetas de origen de los personajes. Se muestra el top 15 de planetas de origen más comunes entre los personajes contabilizados, siento tatooine y naboo los que tienen más personajes como origen. Los demas varian entre uno y tres, siendo que no muchos personajes tienen a este planeta como origen.

Gráfico 5

# Código R del quinto gráfico

ggplot(data = filter_height) +
  geom_density(mapping = aes(x = height), fill = "lightblue", alpha = 0.5) +
  labs(title = "Altura de los personajes", x = "Altura", y = "Densidad")

Interpretación del quinto gráfico.

Este gráfico nos muestra la densidad de la altura de los personajes, lo que nos muestra es como se concentran las alturas en cierto punto, indicando que las alturas de los personajes generalmente están entre 175cm y 200cm. Habiendo muy pocos casos que sobrepasen esta altura y tambien muy pocos que seán más pequeños que esta, como algunos droides o personajes pequeños como yoda. Como conclusión, los persojes que en su mayoria son humanos, tienen una estatura promedio humana.

Gráfico 6

# Código R del sexto gráfico

ggplot(data = filter_height) +
  geom_density(mapping = aes(x = mass), fill = "lightblue", alpha = 0.5) +
  labs(title = "Distribución de pesos de personajes", x = "Peso", y = "Densidad")
## Warning: Removed 22 rows containing non-finite outside the scale range
## (`stat_density()`).

Interpretación del sexto gráfico.

Esta gráfica nos muestra como se distribuye el peso de los personajes de StarWars, utilizando la variable “mass” filtrando los datos que son nulos. El rango que se abarca es muy grande, ya que hay un personaje que tiene un peso de mas de 1000kg. Por lo tanto, hace que la gráfica se vea muy concentrada en ciertos picos, y deja un rango sin medición. De igual manera, los datos de los pesos se concentran entre 50kg y 200kg. Pudiendo notar que como en las alturas, los personajes tienen un peso promedio humano, variando unicamente en droides o personajés más pesados.

Gráfico 7

# Código R del septimo gráfico

ggplot(data = gender_count) +
  geom_col(mapping = aes(x = gender, y = n), fill = "pink") +
  labs(title = "Cantidad de personajes por género", x = "Género", y = "Cantidad")

Interpretación del septimo gráfico.

Para este gráfico realizamos un conteo del genero de cada personaje, y asi realizamos un grafico de barras que nos muestrá la diferencia de personajes masculinos y femeninos. Podemos apreciar que son muchos más los personajes másculinos que los femeninos.

Gráfico 8

# Código R del octavo gráfico

ggplot(data = eyes_count) +
  geom_col(mapping = aes(x = eye_color, y = n), fill = "brown") +
  labs(title = "Cantidad de personajes por color de ojos", x = "Color de ojos", y = "Cantidad")

Interpretación del octavo gráfico.

Similar al gráfico anterior, realizamos un conteo de los colores de ojos de cada personaje, y con esos datos se realiza un grafico de barras, mostrando que los colores de ojos más comunes son el azul, cafe y amarillos. Esto probablemente a que el promedio de personajes es humano, y estos son colores de ojos comunes entre los humanos.

Gráfico 9

# Código R de noveno gráfico

ggplot(data = height_birth_filter) + geom_point(mapping = aes(x=birth_year, y=height), color = "black") + 
  labs(title = "Relación entre año de nacimiento y altura de los personajes", x = "Año de Nacimiento", y  ="Altura")

Interpretación noveno gráfico

Este gráfico nos muestra la relacion entre el año de nacimiento (birth_year) y la altura (height), los datos se muestran muy dispersos, por lo que no se puede apreciar alguna tendencia en los datos, o que esten relacionados en algun punto. Podemos concluir que el año de nacimiento no tiene ninguna relación con la altura de una especie.

Conclusiones