Lo primero será cargar la información incluida en el archivo titanic3.csv cargandolo a un dataset con la ayuda de la funcion read.csv().
A continuación se muestran las primeras 6 filas del dataset cargado con la funcion head()
## pclass survived name sex
## 1 1 1 Allen, Miss. Elisabeth Walton female
## 2 1 1 Allison, Master. Hudson Trevor male
## 3 1 0 Allison, Miss. Helen Loraine female
## 4 1 0 Allison, Mr. Hudson Joshua Creighton male
## 5 1 0 Allison, Mrs. Hudson J C (Bessie Waldo Daniels) female
## 6 1 1 Anderson, Mr. Harry male
## age sibsp parch ticket fare cabin embarked boat body
## 1 29.0000 0 0 24160 211.3375 B5 S 2 NA
## 2 0.9167 1 2 113781 151.5500 C22 C26 S 11 NA
## 3 2.0000 1 2 113781 151.5500 C22 C26 S NA
## 4 30.0000 1 2 113781 151.5500 C22 C26 S 135
## 5 25.0000 1 2 113781 151.5500 C22 C26 S NA
## 6 48.0000 0 0 19952 26.5500 E12 S 3 NA
## home.dest
## 1 St Louis, MO
## 2 Montreal, PQ / Chesterville, ON
## 3 Montreal, PQ / Chesterville, ON
## 4 Montreal, PQ / Chesterville, ON
## 5 Montreal, PQ / Chesterville, ON
## 6 New York, NY
Finalmente veremos el detalle de la información del dataset con ayuda de la función str().
## 'data.frame': 1310 obs. of 14 variables:
## $ pclass : int 1 1 1 1 1 1 1 1 1 1 ...
## $ survived : int 1 1 0 0 0 1 1 0 1 0 ...
## $ name : chr "Allen, Miss. Elisabeth Walton" "Allison, Master. Hudson Trevor" "Allison, Miss. Helen Loraine" "Allison, Mr. Hudson Joshua Creighton" ...
## $ sex : chr "female" "male" "female" "male" ...
## $ age : num 29 0.917 2 30 25 ...
## $ sibsp : int 0 1 1 1 1 0 1 0 2 0 ...
## $ parch : int 0 2 2 2 2 0 0 0 0 0 ...
## $ ticket : chr "24160" "113781" "113781" "113781" ...
## $ fare : num 211 152 152 152 152 ...
## $ cabin : chr "B5" "C22 C26" "C22 C26" "C22 C26" ...
## $ embarked : chr "S" "S" "S" "S" ...
## $ boat : chr "2" "11" "" "" ...
## $ body : int NA NA NA 135 NA NA NA NA NA 22 ...
## $ home.dest: chr "St Louis, MO" "Montreal, PQ / Chesterville, ON" "Montreal, PQ / Chesterville, ON" "Montreal, PQ / Chesterville, ON" ...
Se realiza una limpieza del dataset con el objetivo de eliminar variables las cuales no tengan relevancia en el análisis de la variable de estudio (target). Mediante en análisis de estas, se llega a la conclusión de que son irrelevantes con respecto a la supervivencia las siguientes variables: home.dest: Datos de origen y destino del pasajero.
cabin: Numero de cabina.
name: Nombre.
ticket: Numero de ticket.
boat: Numero de bote de salvataje.
body: Orden en que fue encontrado el cuerpo (En el caso de haber fallecido y haber sido encontrado).
Estas son eliminadas con la funcion select(-<“nombre de las varibles”>).
Además con la funcion mutate() se cambiara a tipo factor la variable survived reemplazado los valores 0 por NO y 1 por YES. Por último se deja establecida la omision de las filas que contengan valores NA con na.omit(). A continuación la muestra del resultado:
## Rows: 1,046
## Columns: 5
## $ pclass <fct> First Class, First Class, First Class, First Class, First Cl…
## $ survived <fct> Yes, Yes, No, No, No, Yes, Yes, No, Yes, No, No, Yes, Yes, Y…
## $ sex <chr> "female", "male", "female", "male", "female", "male", "femal…
## $ age <dbl> 29.0000, 0.9167, 2.0000, 30.0000, 25.0000, 48.0000, 63.0000,…
## $ parch <int> 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, …
Para la elaboración de los árboles de clasificación se ocupará la librería rpart donde se ocupará la función rpart.plot().
La siguiente gráfica nos muestra un arbol donde se puede apreciar la variable supervivencia versus el resto de variables:
Se puede concluir de la primera gráfica de arbol, que la viariable que tiene la mayor incidencia es sexo.
Para la siguiente gráfica por tanto usaremos esta variable versus la variable supervivencia:
A continuación un análisis general de la variable sexo: