#file.choose()
base_de_datos <- read.csv("/Users/ErickaMtz/Downloads/titanic_EM.csv")
summary(base_de_datos)
## pclass survived name sex
## Min. :1.000 Min. :0.000 Length:1310 Length:1310
## 1st Qu.:2.000 1st Qu.:0.000 Class :character Class :character
## Median :3.000 Median :0.000 Mode :character Mode :character
## Mean :2.295 Mean :0.382
## 3rd Qu.:3.000 3rd Qu.:1.000
## Max. :3.000 Max. :1.000
## NA's :1 NA's :1
## age sibsp parch ticket
## Min. : 0.1667 Min. :0.0000 Min. :0.000 Length:1310
## 1st Qu.:21.0000 1st Qu.:0.0000 1st Qu.:0.000 Class :character
## Median :28.0000 Median :0.0000 Median :0.000 Mode :character
## Mean :29.8811 Mean :0.4989 Mean :0.385
## 3rd Qu.:39.0000 3rd Qu.:1.0000 3rd Qu.:0.000
## Max. :80.0000 Max. :8.0000 Max. :9.000
## NA's :264 NA's :1 NA's :1
## fare cabin embarked boat
## Min. : 0.000 Length:1310 Length:1310 Length:1310
## 1st Qu.: 7.896 Class :character Class :character Class :character
## Median : 14.454 Mode :character Mode :character Mode :character
## Mean : 33.295
## 3rd Qu.: 31.275
## Max. :512.329
## NA's :2
## body home.dest
## Min. : 1.0 Length:1310
## 1st Qu.: 72.0 Class :character
## Median :155.0 Mode :character
## Mean :160.8
## 3rd Qu.:256.0
## Max. :328.0
## NA's :1189
Titanic <- base_de_datos[,c("pclass", "age", "sex", "survived")]
Titanic$survived <- as.factor(ifelse(Titanic$survived==0, "Murio", "sobrevivio"))
Titanic$pclass <- as.factor(Titanic$pclass)
Titanic$sex <- as.factor(Titanic$sex)
str(Titanic)
## 'data.frame': 1310 obs. of 4 variables:
## $ pclass : Factor w/ 3 levels "1","2","3": 1 1 1 1 1 1 1 1 1 1 ...
## $ age : num 29 0.917 2 30 25 ...
## $ sex : Factor w/ 3 levels "","female","male": 2 3 2 3 2 3 2 3 2 3 ...
## $ survived: Factor w/ 2 levels "Murio","sobrevivio": 2 2 1 1 1 2 2 1 2 1 ...
sum(is.na(Titanic))
## [1] 266
Titanic <- na.omit(Titanic)
library(rpart)
install.packages(“rpart.plot”)
library(rpart.plot)
library(rpart)
arbol <- rpart(formula = survived ~ ., data = Titanic)
arbol
## n= 1046
##
## node), split, n, loss, yval, (yprob)
## * denotes terminal node
##
## 1) root 1046 427 Murio (0.59177820 0.40822180)
## 2) sex=male 658 135 Murio (0.79483283 0.20516717)
## 4) age>=9.5 615 110 Murio (0.82113821 0.17886179) *
## 5) age< 9.5 43 18 sobrevivio (0.41860465 0.58139535)
## 10) pclass=3 29 11 Murio (0.62068966 0.37931034) *
## 11) pclass=1,2 14 0 sobrevivio (0.00000000 1.00000000) *
## 3) sex=female 388 96 sobrevivio (0.24742268 0.75257732)
## 6) pclass=3 152 72 Murio (0.52631579 0.47368421)
## 12) age>=1.5 145 66 Murio (0.54482759 0.45517241) *
## 13) age< 1.5 7 1 sobrevivio (0.14285714 0.85714286) *
## 7) pclass=1,2 236 16 sobrevivio (0.06779661 0.93220339) *
#install.packages("rpart.plot")
library(rpart.plot)
rpart.plot(arbol)
prp(arbol, extra = 7, prefix = "fraccion\n")
Existen distintas variables que fueron analizadas para poder identificar qué tan probable era que una persona dentro del Titanic sobreviviera. Las personas con mayor probabilidad de sobrevivir según nuestro árbol de decisión son las mujeres y niños de 9 años de edad o menores que se encontraban en primera y segunda clase. Las personas en tercera clase son los que tenían un menor porcentaje de probabilidad de sobrevivir. Siendo más específicos, con el hecho de ser mujer ya se contaba con un 75% de probabilidad de sobrevivir, ese porcentaje incluso aumentaba a un 93% si eran mujeres de primer y segunda clase. En el caso de ser hombre, solamente los que tenían 9 años y medio o menos contaban con un 58% de probabilidad de sobrevivir y si eran de primera o segunda clase contaban con un 100% de probabilidad de supervivencia.