Conjunto de datos: Titanic – Machine Learning from Disaster
Este conjunto contiene información detallada sobre los 891 pasajeros que viajaban a bordo del Titanic en su viaje inaugural de 1912.
Variables incluidas:
Objetivo del análisis: Identificar los factores que influyeron en la supervivencia de los pasajeros durante el hundimiento del Titanic y analizar patrones demográficos y socioeconómicos.
Tragedia histórica: RMS Titanic (1912)
Muestra: 891 pasajeros
Variables: 12 características por pasajero
Análisis: Descriptivo, correlacional y supervivencia
PassengerId Survived Pclass
Min. : 1.0 Min. :0.0000 Min. :1.000
1st Qu.:223.5 1st Qu.:0.0000 1st Qu.:2.000
Median :446.0 Median :0.0000 Median :3.000
Mean :446.0 Mean :0.3838 Mean :2.309
3rd Qu.:668.5 3rd Qu.:1.0000 3rd Qu.:3.000
Max. :891.0 Max. :1.0000 Max. :3.000
Name Sex Age
Abbing, Mr. Anthony : 1 female:314 Min. : 0.42
Abbott, Mr. Rossmore Edward : 1 male :577 1st Qu.:20.12
Abbott, Mrs. Stanton (Rosa Hunt) : 1 Median :28.00
Abelson, Mr. Samuel : 1 Mean :29.70
Abelson, Mrs. Samuel (Hannah Wizosky): 1 3rd Qu.:38.00
Adahl, Mr. Mauritz Nils Martin : 1 Max. :80.00
(Other) :885 NA's :177
SibSp Parch Ticket Fare
Min. :0.000 Min. :0.0000 1601 : 7 Min. : 0.00
1st Qu.:0.000 1st Qu.:0.0000 347082 : 7 1st Qu.: 7.91
Median :0.000 Median :0.0000 CA. 2343: 7 Median : 14.45
Mean :0.523 Mean :0.3816 3101295 : 6 Mean : 32.20
3rd Qu.:1.000 3rd Qu.:0.0000 347088 : 6 3rd Qu.: 31.00
Max. :8.000 Max. :6.0000 CA 2144 : 6 Max. :512.33
(Other) :852
Cabin Embarked
:687 : 2
B96 B98 : 4 C:168
C23 C25 C27: 4 Q: 77
G6 : 4 S:644
C22 C26 : 3
D : 3
(Other) :186
Inconsistencias encontradas:
Estrategias de limpieza aplicadas:
La mayoría de los pasajeros tenía entre 20 y 40 años. La distribución muestra una concentración en adultos jóvenes, con pocos casos en edades extremas (niños pequeños y adultos mayores).
La mayoría de las tarifas se concentran por debajo de £50. Hay valores atípicos que superan las £500, evidenciando la gran desigualdad económica entre pasajeros de diferentes clases.
Los valores de edad están mayormente entre 20 y 40 años, con algunos valores atípicos en niños muy pequeños y ancianos. La mediana se encuentra alrededor de 28 años.
Se observa gran dispersión en las tarifas, especialmente con valores atípicos extremos que superan £500. Esto refleja las diferencias entre clases, donde la primera clase pagó tarifas significativamente más altas.
Se observa un mayor número de hombres (~65%) que de mujeres (~35%) a bordo del Titanic.
La tercera clase es la más numerosa, seguida de la primera y segunda. Esto refleja la distribución socioeconómica típica de la época.
La correlación entre Edad y Tarifa es muy baja (r≈0.10), indicando que no hay relación directa entre cuánto pagó un pasajero y su edad. La correlación entre SibSp y Parch es moderada (r≈0.41), sugiriendo que pasajeros con hermanos/esposos también viajaban con padres/hijos, indicando grupos familiares.
No existe una relación lineal clara entre edad y tarifa. La tarifa dependía más de la clase del boleto que de la edad del pasajero.
Las tarifas muestran diferencias claras según la clase. Los pasajeros de primera clase pagaron tarifas mucho más altas (mediana ~£60), mientras que los de tercera clase pagaron precios más bajos (mediana ~£8), evidenciando la gran desigualdad económica a bordo.
Tanto hombres como mujeres tenían una edad mediana similar (alrededor de 28-30 años). Sin embargo, las mujeres muestran mayor variabilidad en edad, mientras que los hombres presentan una distribución más concentrada en adultos jóvenes.
La mediana de edad es similar en los tres puertos (Southampton-S, Cherbourg-C, Queenstown-Q), aunque Cherbourg muestra más variabilidad. No hay diferencias significativas en la edad de los pasajeros según el puerto de embarque.
El gráfico demuestra que las mujeres tuvieron una tasa de supervivencia mucho mayor (~75%) que los hombres (~20%). Esto confirma la política de “mujeres y niños primero” durante la evacuación del Titanic.
La clase del boleto tuvo influencia directa en la supervivencia. Los pasajeros de primera clase sobrevivieron en mayor proporción (~63%), mientras que la mayoría de los de tercera clase murió (~76% no sobrevivió). Esto evidencia desigualdad en el acceso a botes salvavidas.
Los pasajeros que embarcaron en Cherbourg (C) tuvieron mayor tasa de supervivencia, posiblemente porque en este puerto embarcaron más pasajeros de primera clase. Southampton (S) tuvo la menor tasa de supervivencia.
1. Factores Determinantes de Supervivencia:
2. Análisis Demográfico:
3. Análisis Económico:
---
title: "Análisis del Titanic - Dashboard Proyecto"
author: "Samuel Cuaran, Samuel de la Rosa"
date: "2025-11-16"
output:
flexdashboard::flex_dashboard:
orientation: rows
social: menu
source_code: embed
---
```{r global_options, include=FALSE}
knitr::opts_chunk$set(fig.width=10, fig.height=8, warning=FALSE, message=FALSE)
```
# Información del Proyecto
## Row
### Descripción de los Datos
**Conjunto de datos:** Titanic – Machine Learning from Disaster
Este conjunto contiene información detallada sobre los **891 pasajeros** que viajaban a bordo del Titanic en su viaje inaugural de 1912.
**Variables incluidas:**
- **Demográficas:** Edad, sexo, nombre
- **Socioeconómicas:** Clase del boleto, tarifa pagada
- **Familiares:** Número de hermanos/esposos (SibSp), padres/hijos (Parch)
- **Embarque:** Puerto de embarque, número de cabina
- **Variable objetivo:** Supervivencia (0 = No sobrevivió, 1 = Sobrevivió)
**Objetivo del análisis:** Identificar los factores que influyeron en la supervivencia de los pasajeros durante el hundimiento del Titanic y analizar patrones demográficos y socioeconómicos.
### Portada del Proyecto
{width="100%"}
**Tragedia histórica:** RMS Titanic (1912)
**Muestra:** 891 pasajeros
**Variables:** 12 características por pasajero
**Análisis:** Descriptivo, correlacional y supervivencia
# Análisis Descriptivos
## Row
### Estadísticas Generales
```{r setup}
library(readr)
library(ggplot2)
library(dplyr)
library(corrplot)
titanic = read.table("titanic.csv", stringsAsFactors = TRUE, sep=",", header=TRUE)
summary(titanic)
```
**Inconsistencias encontradas:**
- **Age:** 177 valores faltantes (19.9%)
- **Cabin:** Más del 70% de datos faltantes
- **Embarked:** 2 registros sin dato
- **Fare:** 1 caso con valor cero (posible error)
**Estrategias de limpieza aplicadas:**
- Age: Imputación con la mediana (más robusta ante outliers)
- Embarked: Imputación con la moda (Southampton - S)
## Row
### Histograma: Edad
```{r hist_edad}
ggplot(titanic, aes(x=Age)) +
geom_histogram(fill="tan", bins=30, color="white", na.rm=TRUE) +
labs(title="Distribución de Edad de los Pasajeros",
x="Edad (años)", y="Frecuencia") +
theme_minimal(base_size = 18) +
theme(plot.title = element_text(size = 20, face = "bold"))
```
### Histograma: Tarifa
```{r hist_tarifa}
ggplot(titanic, aes(x=Fare)) +
geom_histogram(fill="lightblue", bins=30, color="white", na.rm=TRUE) +
labs(title="Distribución de Tarifas Pagadas",
x="Tarifa (£)", y="Frecuencia") +
theme_minimal(base_size = 18) +
theme(plot.title = element_text(size = 20, face = "bold"))
```
## Row
### Interpretación: Edad
La mayoría de los pasajeros tenía entre **20 y 40 años**. La distribución muestra una concentración en adultos jóvenes, con pocos casos en edades extremas (niños pequeños y adultos mayores).
### Interpretación: Tarifa
La mayoría de las tarifas se concentran **por debajo de £50**. Hay valores atípicos que superan las £500, evidenciando la **gran desigualdad económica** entre pasajeros de diferentes clases.
# Análisis Univariados - Datos Atípicos
## Row
### Boxplot: Edad
```{r box_edad}
ggplot(titanic, aes(y=Age)) +
geom_boxplot(fill="orange", color="darkorange", na.rm=TRUE) +
labs(title="Diagrama de Caja: Edad de Pasajeros",
y="Edad (años)") +
theme_minimal(base_size = 18) +
theme(plot.title = element_text(size = 20, face = "bold")) +
coord_flip()
```
### Boxplot: Tarifa
```{r box_tarifa}
ggplot(titanic, aes(y=Fare)) +
geom_boxplot(fill="gold", color="orange", na.rm=TRUE) +
labs(title="Diagrama de Caja: Tarifas Pagadas",
y="Tarifa (£)") +
theme_minimal(base_size = 18) +
theme(plot.title = element_text(size = 20, face = "bold")) +
coord_flip()
```
## Row
### Interpretación: Edad
Los valores de edad están mayormente entre **20 y 40 años**, con algunos valores atípicos en niños muy pequeños y ancianos. La mediana se encuentra alrededor de 28 años.
### Interpretación: Tarifa
Se observa **gran dispersión** en las tarifas, especialmente con valores atípicos extremos que superan £500. Esto refleja las diferencias entre clases, donde la primera clase pagó tarifas significativamente más altas.
## Row
### Gráfico de Barras: Sexo
```{r barras_sexo}
ggplot(titanic, aes(x=Sex, fill=Sex)) +
geom_bar() +
scale_fill_manual(values=c("lightblue", "pink")) +
labs(title="Distribución de Pasajeros por Sexo",
x="Sexo", y="Cantidad") +
theme_minimal(base_size = 18) +
theme(plot.title = element_text(size = 20, face = "bold"))
```
### Gráfico de Barras: Clase
```{r barras_clase}
ggplot(titanic, aes(x=factor(Pclass), fill=factor(Pclass))) +
geom_bar() +
scale_fill_manual(values=c("navy", "blue", "skyblue")) +
labs(title="Distribución de Pasajeros por Clase",
x="Clase", y="Cantidad") +
theme_minimal(base_size = 18) +
theme(plot.title = element_text(size = 20, face = "bold"))
```
## Row
### Interpretación: Sexo
Se observa un mayor número de **hombres (\~65%)** que de mujeres (\~35%) a bordo del Titanic.
### Interpretación: Clase
La **tercera clase** es la más numerosa, seguida de la primera y segunda. Esto refleja la distribución socioeconómica típica de la época.
# Análisis Bivariado - Correlación
## Row
### Matriz de Correlación
```{r correlacion}
numTitanic = titanic[, c("Age", "Fare", "SibSp", "Parch")]
names(numTitanic) = c("Edad", "Tarifa", "Hermanos.Esposos", "Padres.Hijos")
R = cor(numTitanic, use="pairwise.complete.obs")
corrplot(R, method="number", type="upper",
col=colorRampPalette(c("red", "white", "blue"))(200),
tl.col="black", tl.srt=45, number.cex = 2, tl.cex = 1.5)
```
### Gráfico de Dispersión: Edad vs Tarifa
```{r dispersion_edad_tarifa}
ggplot(titanic, aes(x=Age, y=Fare)) +
geom_jitter(colour="blue", alpha=0.5, na.rm=TRUE, size=2) +
geom_smooth(method="lm", colour="red", se=TRUE, na.rm=TRUE, size=1.5) +
labs(title="Relación entre Edad y Tarifa",
x="Edad (años)", y="Tarifa (£)") +
theme_minimal(base_size = 18) +
theme(plot.title = element_text(size = 20, face = "bold"))
```
## Row
### Interpretación: Correlación
La correlación entre **Edad y Tarifa es muy baja (r≈0.10)**, indicando que no hay relación directa entre cuánto pagó un pasajero y su edad. La correlación entre **SibSp y Parch es moderada (r≈0.41)**, sugiriendo que pasajeros con hermanos/esposos también viajaban con padres/hijos, indicando grupos familiares.
### Interpretación: Dispersión
No existe una relación lineal clara entre edad y tarifa. La **tarifa dependía más de la clase del boleto** que de la edad del pasajero.
# Análisis Bivariado - Cajas por Grupos
## Row
### Tarifa por Clase
```{r box_tarifa_clase}
ggplot(titanic, aes(x=factor(Pclass), y=Fare, fill=factor(Pclass))) +
geom_boxplot(na.rm=TRUE, size=1) +
scale_fill_manual(values=c("green", "pink", "red")) +
labs(title="Comparación de Tarifas según Clase del Boleto",
x="Clase", y="Tarifa (£)") +
theme_minimal(base_size = 18) +
theme(plot.title = element_text(size = 20, face = "bold"),
legend.position = "none")
```
### Edad por Sexo
```{r box_edad_sexo}
ggplot(titanic, aes(x=Sex, y=Age, fill=Sex)) +
geom_boxplot(na.rm=TRUE, size=1) +
scale_fill_manual(values=c("grey", "coral")) +
labs(title="Comparación de Edad según Sexo",
x="Sexo", y="Edad (años)") +
theme_minimal(base_size = 18) +
theme(plot.title = element_text(size = 20, face = "bold"),
legend.position = "none")
```
## Row
### Interpretación: Tarifa por Clase
Las tarifas muestran **diferencias claras según la clase**. Los pasajeros de primera clase pagaron tarifas mucho más altas (mediana \~£60), mientras que los de tercera clase pagaron precios más bajos (mediana \~£8), evidenciando la **gran desigualdad económica** a bordo.
### Interpretación: Edad por Sexo
Tanto hombres como mujeres tenían una **edad mediana similar** (alrededor de 28-30 años). Sin embargo, las mujeres muestran mayor variabilidad en edad, mientras que los hombres presentan una distribución más concentrada en adultos jóvenes.
## Row
### Edad por Puerto de Embarque
```{r box_edad_puerto}
# Filtrar valores vacíos en Embarked
titanic_clean = titanic %>% filter(Embarked != "")
ggplot(titanic_clean, aes(x=Embarked, y=Age, fill=Embarked)) +
geom_boxplot(na.rm=TRUE, size=1) +
scale_fill_manual(values=c("purple", "lightblue", "cyan")) +
labs(title="Comparación de Edad según Puerto de Embarque",
x="Puerto de Embarque", y="Edad (años)") +
theme_minimal(base_size = 18) +
theme(plot.title = element_text(size = 20, face = "bold"),
legend.position = "none")
```
## Row
### Interpretación: Edad por Puerto
La **mediana de edad es similar** en los tres puertos (Southampton-S, Cherbourg-C, Queenstown-Q), aunque Cherbourg muestra más variabilidad. No hay diferencias significativas en la edad de los pasajeros según el puerto de embarque.
# Análisis Bivariado - Barras Apiladas
## Row
### Supervivencia por Sexo
```{r barras_supervivencia_sexo}
ggplot(titanic, aes(x=Sex, fill=factor(Survived))) +
geom_bar(position="fill", size=1) +
scale_fill_manual(values=c("red", "green"),
labels=c("No sobrevivió", "Sobrevivió"),
name="Supervivencia") +
labs(title="Proporción de Supervivencia según Sexo",
x="Sexo", y="Proporción") +
theme_minimal(base_size = 18) +
theme(plot.title = element_text(size = 20, face = "bold"),
legend.text = element_text(size = 14),
legend.title = element_text(size = 16, face = "bold"))
```
### Supervivencia por Clase
```{r barras_supervivencia_clase}
ggplot(titanic, aes(x=factor(Pclass), fill=factor(Survived))) +
geom_bar(position="dodge", size=1) +
scale_fill_manual(values=c("red", "green"),
labels=c("No sobrevivió", "Sobrevivió"),
name="Supervivencia") +
labs(title="Supervivencia según Clase del Boleto",
x="Clase", y="Cantidad") +
theme_minimal(base_size = 18) +
theme(plot.title = element_text(size = 20, face = "bold"),
legend.text = element_text(size = 14),
legend.title = element_text(size = 16, face = "bold"))
```
## Row
### Interpretación: Supervivencia por Sexo
El gráfico demuestra que las **mujeres tuvieron una tasa de supervivencia mucho mayor** (\~75%) que los hombres (\~20%). Esto confirma la política de "**mujeres y niños primero**" durante la evacuación del Titanic.
### Interpretación: Supervivencia por Clase
La **clase del boleto tuvo influencia directa** en la supervivencia. Los pasajeros de primera clase sobrevivieron en mayor proporción (\~63%), mientras que la mayoría de los de tercera clase murió (\~76% no sobrevivió). Esto evidencia **desigualdad en el acceso a botes salvavidas**.
## Row
### Supervivencia por Puerto de Embarque
```{r barras_supervivencia_puerto}
# Filtrar valores vacíos en Embarked
titanic_clean2 = titanic %>% filter(Embarked != "")
ggplot(titanic_clean2, aes(x=Embarked, fill=factor(Survived))) +
geom_bar(position="fill", size=1) +
scale_fill_manual(values=c("darkred", "darkgreen"),
labels=c("No sobrevivió", "Sobrevivió"),
name="Supervivencia") +
labs(title="Proporción de Supervivencia según Puerto de Embarque",
x="Puerto de Embarque", y="Proporción") +
theme_minimal(base_size = 18) +
theme(plot.title = element_text(size = 20, face = "bold"),
legend.text = element_text(size = 14),
legend.title = element_text(size = 16, face = "bold"))
```
## Row
### Interpretación: Supervivencia por Puerto
Los pasajeros que embarcaron en **Cherbourg (C)** tuvieron mayor tasa de supervivencia, posiblemente porque en este puerto embarcaron más pasajeros de primera clase. Southampton (S) tuvo la menor tasa de supervivencia.
# Conclusiones y Recomendaciones
## Row
### Conclusiones Principales
**1. Factores Determinantes de Supervivencia:**
- **Sexo:** Las mujeres tuvieron una tasa de supervivencia del \~75% vs \~20% de los hombres
- **Clase socioeconómica:** La primera clase sobrevivió en \~63% vs \~24% de la tercera clase
- **Política de evacuación:** Se aplicó "mujeres y niños primero"
- **Desigualdad social:** El acceso a botes salvavidas favoreció a pasajeros de primera clase
**2. Análisis Demográfico:**
- **Edad promedio:** 28-30 años (adultos jóvenes)
- **Distribución por sexo:** 65% hombres, 35% mujeres
- **Composición social:** Mayoría de pasajeros en tercera clase
- **Grupos familiares:** Correlación moderada entre SibSp y Parch (r=0.41)
**3. Análisis Económico:**
- **Gran desigualdad:** Tarifas desde £0 hasta más de £500
- **Sin relación edad-precio:** La tarifa dependió de la clase, no de la edad
- **Primera clase:** Pagó \~8 veces más que tercera clase en promedio