knitr::opts_chunk$set(echo = TRUE)

Introducción

Resumen del Dataset

El dataset del Titanic incluye información sobre los pasajeros y su supervivencia. Contiene 1309 observaciones con 12 variables.

  • PassegerId: El código de identificación del pasajero (valor único).
  • Survived: Variable factor, 1 (el pasajero sobrevivió) 0 (el pasajero no sobrevivió).
  • Pclass: En que clase viajaba el pasajero (1 = primera, 2 = segunda, 3 = tercera).
  • Name: Nombre del pasajero (valor único).
  • Sex: Sexo del pasajero.
  • Age: Edad del pasajero.
  • SibSp: Cantidad de hermanos o cónyuges a bordo del Titanic.
  • Parch: Cantidad de padres o hijos a bordo del Titanic.
  • Ticket: Número de tiquete (valor único).
  • Fare: Tarifa del pasajero.
  • Cabin: Número de cabina (valor único).
  • Embarked: Puerto donde embarco el pasajero (C = Cherbourg, Q = Queenstown, S = Southampton).

Estructura del Dataset

# Cargar librerías necesarias
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.3     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.4     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.0
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ purrr::%||%()   masks base::%||%()
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
# Leer el dataset
titanic_data <- read_csv("titanic.csv")
## Rows: 1309 Columns: 12
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (5): Name, Sex, Ticket, Cabin, Embarked
## dbl (7): PassengerId, Survived, Pclass, Age, SibSp, Parch, Fare
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# Mostrar la estructura del dataset
str(titanic_data)
## spc_tbl_ [1,309 × 12] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ PassengerId: num [1:1309] 1 2 3 4 5 6 7 8 9 10 ...
##  $ Survived   : num [1:1309] 0 1 1 1 0 0 0 0 1 1 ...
##  $ Pclass     : num [1:1309] 3 1 3 1 3 3 1 3 3 2 ...
##  $ Name       : chr [1:1309] "Braund, Mr. Owen Harris" "Cumings, Mrs. John Bradley (Florence Briggs Thayer)" "Heikkinen, Miss. Laina" "Futrelle, Mrs. Jacques Heath (Lily May Peel)" ...
##  $ Sex        : chr [1:1309] "male" "female" "female" "female" ...
##  $ Age        : num [1:1309] 22 38 26 35 35 NA 54 2 27 14 ...
##  $ SibSp      : num [1:1309] 1 1 0 1 0 0 0 3 0 1 ...
##  $ Parch      : num [1:1309] 0 0 0 0 0 0 0 1 2 0 ...
##  $ Ticket     : chr [1:1309] "A/5 21171" "PC 17599" "STON/O2. 3101282" "113803" ...
##  $ Fare       : num [1:1309] 7.25 71.28 7.92 53.1 8.05 ...
##  $ Cabin      : chr [1:1309] NA "C85" NA "C123" ...
##  $ Embarked   : chr [1:1309] "S" "C" "S" "S" ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   PassengerId = col_double(),
##   ..   Survived = col_double(),
##   ..   Pclass = col_double(),
##   ..   Name = col_character(),
##   ..   Sex = col_character(),
##   ..   Age = col_double(),
##   ..   SibSp = col_double(),
##   ..   Parch = col_double(),
##   ..   Ticket = col_character(),
##   ..   Fare = col_double(),
##   ..   Cabin = col_character(),
##   ..   Embarked = col_character()
##   .. )
##  - attr(*, "problems")=<externalptr>

Análisis de Datos

Estructura de los Datos

# Mostrar las primeras filas del dataset
head(titanic_data)
## # A tibble: 6 × 12
##   PassengerId Survived Pclass Name    Sex     Age SibSp Parch Ticket  Fare Cabin
##         <dbl>    <dbl>  <dbl> <chr>   <chr> <dbl> <dbl> <dbl> <chr>  <dbl> <chr>
## 1           1        0      3 Braund… male     22     1     0 A/5 2…  7.25 <NA> 
## 2           2        1      1 Cuming… fema…    38     1     0 PC 17… 71.3  C85  
## 3           3        1      3 Heikki… fema…    26     0     0 STON/…  7.92 <NA> 
## 4           4        1      1 Futrel… fema…    35     1     0 113803 53.1  C123 
## 5           5        0      3 Allen,… male     35     0     0 373450  8.05 <NA> 
## 6           6        0      3 Moran,… male     NA     0     0 330877  8.46 <NA> 
## # ℹ 1 more variable: Embarked <chr>

Gráficos

Supervivencia por Clse

Distribución de Edades

# Histograma de edades
ggplot(titanic_data, aes(x = Age)) +
  geom_histogram(binwidth = 5, fill = "#3399FF", color = "#FFFFFF") +
  labs(title = "Distribución de Edades en el Titanic", x = "Edad", y = "Frecuencia") +
  theme_minimal()
## Warning: Removed 263 rows containing non-finite values (`stat_bin()`).

Conclusiones

Este es un ejercio para aprender sobre R y documentos en formato R, éste fue el gráfico que me pareció más interesante, es muy útil para comprender fácilmente como los hombres de tercera clase fueron los más afectados en la tragedia tiene, tiene un gran componente de analisis social: “niños y mujeres primero, después hombres pero primero los ricos”

## Rows: 1309 Columns: 12
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (5): Name, Sex, Ticket, Cabin, Embarked
## dbl (7): PassengerId, Survived, Pclass, Age, SibSp, Parch, Fare
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.