Chistopher Jerez, Fernanda Marchessi y Antonia Pumarino
library(tidyverse)
## -- Attaching packages ------------------------------------------------------- tidyverse 1.2.1 --
## v ggplot2 3.1.0 v purrr 0.2.5
## v tibble 1.4.2 v dplyr 0.7.6
## v tidyr 0.8.2 v stringr 1.3.1
## v readr 1.1.1 v forcats 0.3.0
## -- Conflicts ---------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(titanic)
library(ggplot2)
library(dplyr)
df <- dplyr::bind_rows(titanic::titanic_test,
titanic::titanic_train)
df <- as_tibble(df)
filter(df, Survived == 1)
## # A tibble: 342 x 12
## PassengerId Pclass Name Sex Age SibSp Parch Ticket Fare Cabin
## <int> <int> <chr> <chr> <dbl> <int> <int> <chr> <dbl> <chr>
## 1 2 1 Cumi~ fema~ 38 1 0 PC 17~ 71.3 C85
## 2 3 3 Heik~ fema~ 26 0 0 STON/~ 7.92 ""
## 3 4 1 Futr~ fema~ 35 1 0 113803 53.1 C123
## 4 9 3 John~ fema~ 27 0 2 347742 11.1 ""
## 5 10 2 Nass~ fema~ 14 1 0 237736 30.1 ""
## 6 11 3 Sand~ fema~ 4 1 1 PP 95~ 16.7 G6
## 7 12 1 Bonn~ fema~ 58 0 0 113783 26.6 C103
## 8 16 2 "Hew~ fema~ 55 0 0 248706 16 ""
## 9 18 2 Will~ male NA 0 0 244373 13 ""
## 10 20 3 Mass~ fema~ NA 0 0 2649 7.22 ""
## # ... with 332 more rows, and 2 more variables: Embarked <chr>,
## # Survived <int>
total_vivos <- filter(df, Survived == 1)
filter(df, Age < 15)
## # A tibble: 109 x 12
## PassengerId Pclass Name Sex Age SibSp Parch Ticket Fare Cabin
## <int> <int> <chr> <chr> <dbl> <int> <int> <chr> <dbl> <chr>
## 1 897 3 Sven~ male 14 0 0 7538 9.22 ""
## 2 913 3 Olse~ male 9 0 1 C 173~ 3.17 ""
## 3 947 3 Rice~ male 10 4 1 382652 29.1 ""
## 4 956 1 Ryer~ male 13 2 2 PC 17~ 262. B57 ~
## 5 972 3 Boul~ male 6 1 1 2678 15.2 ""
## 6 981 2 Well~ male 2 1 1 29103 23 ""
## 7 1009 3 Sand~ fema~ 1 1 1 PP 95~ 16.7 G6
## 8 1012 2 Watt~ fema~ 12 0 0 C.A. ~ 15.8 ""
## 9 1032 3 Good~ fema~ 10 5 2 CA 21~ 46.9 ""
## 10 1046 3 Aspl~ male 13 4 2 347077 31.4 ""
## # ... with 99 more rows, and 2 more variables: Embarked <chr>,
## # Survived <int>
niñes_total <- filter(df, Age < 15)
filter (df, Sex == "female")
## # A tibble: 466 x 12
## PassengerId Pclass Name Sex Age SibSp Parch Ticket Fare Cabin
## <int> <int> <chr> <chr> <dbl> <int> <int> <chr> <dbl> <chr>
## 1 893 3 Wilk~ fema~ 47 1 0 363272 7 ""
## 2 896 3 Hirv~ fema~ 22 1 1 31012~ 12.3 ""
## 3 898 3 Conn~ fema~ 30 0 0 330972 7.63 ""
## 4 900 3 Abra~ fema~ 18 0 0 2657 7.23 ""
## 5 904 1 Snyd~ fema~ 23 1 0 21228 82.3 B45
## 6 906 1 Chaf~ fema~ 47 1 0 W.E.P~ 61.2 E31
## 7 907 2 del ~ fema~ 24 1 0 SC/PA~ 27.7 ""
## 8 910 3 Ilma~ fema~ 27 1 0 STON/~ 7.92 ""
## 9 911 3 "Ass~ fema~ 45 0 0 2696 7.22 ""
## 10 914 1 Fleg~ fema~ NA 0 0 PC 17~ 31.7 ""
## # ... with 456 more rows, and 2 more variables: Embarked <chr>,
## # Survived <int>
mujeres_total <- filter (df, Sex == "female")
filter(df, Sex == "male")
## # A tibble: 843 x 12
## PassengerId Pclass Name Sex Age SibSp Parch Ticket Fare Cabin
## <int> <int> <chr> <chr> <dbl> <int> <int> <chr> <dbl> <chr>
## 1 892 3 Kell~ male 34.5 0 0 330911 7.83 ""
## 2 894 2 Myle~ male 62 0 0 240276 9.69 ""
## 3 895 3 Wirz~ male 27 0 0 315154 8.66 ""
## 4 897 3 Sven~ male 14 0 0 7538 9.22 ""
## 5 899 2 Cald~ male 26 1 1 248738 29 ""
## 6 901 3 Davi~ male 21 2 0 A/4 4~ 24.2 ""
## 7 902 3 Ilie~ male NA 0 0 349220 7.90 ""
## 8 903 1 Jone~ male 46 0 0 694 26 ""
## 9 905 2 Howa~ male 63 1 0 24065 26 ""
## 10 908 2 Kean~ male 35 0 0 233734 12.4 ""
## # ... with 833 more rows, and 2 more variables: Embarked <chr>,
## # Survived <int>
hombres_total <- filter(df, Sex == "male")
El Titanic comenzó a ser construido en 1907 para ser el barco más grande, lujoso y seguro hasta aquella fecha. Todo el mundo quería un ticket de abordaje, desde las personas más adineradas del globo hasta quienes no tenían qué comer a diario. Nadie había siquiera imaginado lo que ocurriría la fatídica noche del 14 de abril de de 1912, en su viaje inaugural.
El barco tenía tres categorías de tickets que asignaban ciertas condiciones dentro de él, mientras la primera categoría tenía suites con todo incluido, la tercera tenía habitaciones compartidas sólo equipadas con literas.
El zarpe inaugural del Titanic era un acontecimiento histórico, por lo que muchas personas vendieron muchas de sus posesiones para conseguir un pasaje. Finalmente, alrededor de mil 300 personas compraron boletos para el primer viaje del barco, a lo que sumado a la tripulación, la cifra ascendía a 2 mil 208 personas en total.
ggplot(df) +
geom_count(mapping = aes(x = Sex, y = factor (Pclass), color = factor (..n..))) +
ggtitle("Grafico 1:Total de pasajeros por sexo y clase") +
xlab("Sexo") +
ylab ("Clase")
En el desglose de los pasajeros, es ostensible que el grupo más grande dentro del barco eran los hombres de “tercera clase”, con casi 500 personas, seguido por las mujeres de esta misma categoría, que se cifraban en 216.
Cuando el trasatlántico británico chocó con un iceberg a una gran velocidad, fue inevitable el daño del barco, pues la fricción con el hielo desgarró planchas de acero que afectaron a cinco compartimientos de la cubierta inferior y por lo tanto, el hundimiento del Titanic era algo que ocurriría en un par de horas.
Las primeras medidas tomadas para salvar a la gente fue sacar los botes de emergencia y embarcar a los pasajeros priorizando las clases superiores. En esta primera instancia, los botes iban con mucho espacio sin embargo, cuando la tripulación se percató de la gravedad del accidente, ordena que se salven a los niños, niñas y mujeres. Estas embarcaciones viajaban repletas puesto que no habían suficientes para resguardar a todos los pasajeros.
A las dos horas del impacto con el iceberg, el Titanic se hundió por completo, dejando alrededor de mil 300 muertos y 711 sobrevivientes. En los siguientes gráficos, podemos apreciar que si bien se respetaron las indicaciones del capitán de salvar a mujeres e infantes primero, en un análisis más profundo, podemos percatarnos que de igual forma, la categoría del ticket si tuvo incidencia en las tasas de supervivencia.
Por ejemplo, en el siguiente gráfico se ve que los puntos rojos, que representan a una persona que murió, se concentran en los tramos de los tickets más baratos.
ggplot(df) +
geom_jitter(mapping = aes(x = Fare, y = Sex, color = factor(Survived))) +
ggtitle("Grafico 2: Muertos y sobrevivientes según precio del ticket y sexo") +
xlab("Precio del ticket") +
ylab ("Sexo") +
labs (caption = "0 = muerto, 1 = vivo")
## Warning: Removed 1 rows containing missing values (geom_point).
En este otro gráfico, se ve claramente que los puntos rojos son más abundantes en la tercera clase. Si se compara por sexos, tanto en el femenino como en el masculino, hay más puntos celestes en la primera clase.
ggplot(df) +
geom_jitter(mapping = aes(x = Sex, y = Pclass, color = factor (Survived))) +
ggtitle("Grafico 3: Sobrevivientes y muertos por clase y sexo") +
xlab("Sexo") +
ylab ("Clase")
Según lo que ordenó el capitán, se debiera cumplir que, sin contar muertes accidentales, la mayoría de los hombres debió haber muerto. Si comparamos en la primera categoría, la relación entre hombres vivos y muertos es considerable. Pero cuando vemos las barras de la tercera clase, la diferencia es abismal.
ggplot(data = hombres_total, mapping = aes(x = factor (Survived), fill = factor(Survived))) +
geom_bar() +
facet_wrap(~ Pclass) +
ggtitle("Grafico 4: Cantidad de hombres muertos y sobrevivientes según clase") +
xlab("Sobrevivientes") +
ylab ("Cantidad")
A partir de estos gráficos se observa que efectivamente se cumplieron en general las órdenes del capitán del barco respecto a que mujeres y niños tenían prioridad para subir a los botes salvavidas, sin embargo, la clase y el precio del ticket influyó mucho en la supervivencia de las personas.
En relación a las mujeres que tuvieron prioridad al momento de subirse al los botes salvavidas, se desprende del siguiente gráfico que las mujeres de clase más alta tuvieron mayor índice de supervivencia. Esto se ejemplifica en que murieron solamente tres mujeres de categoría 1 a diferencia de las mujeres de categoría tres, donde murieron 72.
ggplot(mujeres_total) +
geom_count(mapping = aes(x = factor (Survived) , y = factor (Pclass), color = factor (..n..))) +
ggtitle("Grafico 5: Mujeres vivas y muertas por clase") +
xlab("Sobrevivientes") +
ylab ("Clase")
Así como las mujeres tuvieron prioridad en el rescate, también la tuvieron los niños. Por lo mismo, para este reportaje y el levantamiento de datos consideraremos como niños a los pasajeros menores de 15 años. Esta cifra corresponde a 109 menores distribuidos entre las distintas clases.
En esa línea, la clase con mayor presencia de niños era la tercera, incluso triplicando en número a las otras dos clases (primera y segunda) que corresponden a pasajes más caros, y por ende accesibles para personas con mayor poder adquisitivo.
Observando el gráfico 5, es posible interpretar que a diferencia del caso de las mujeres, en los niños sí pesó en su posibilidad de sobrevivencia la clase en la que viajaban al momento del accidente. Esto se sustenta en que de un total de 36 los menores de 15 años fallecidos, 35 viajaban en tercera clase, mientras que sólo uno viajaba en primera.
ggplot(niñes_total) +
geom_bar(mapping = aes(x = factor (Survived), fill = factor(Pclass))) +
ggtitle("Grafico 6: Sobrevivientes y muertos menores de 15 años por clase") +
xlab("Sobrevivientes") +
ylab ("Cantidad")