Importar base de datos

# file.choose()
base_de_datos <- read.csv("/Users/mayracampoyramos/Documents/Semana 18 /Analisis/4 Semestre /5to Semetre/Analisis de Datos Concentracion/titanic.csv")

Entender base de datos

summary(base_de_datos)
##      pclass         survived         name               sex           
##  Min.   :1.000   Min.   :0.000   Length:1309        Length:1309       
##  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                                        
##                                                                       
##       age              sibsp            parch          ticket         
##  Min.   : 0.1667   Min.   :0.0000   Min.   :0.000   Length:1309       
##  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   :263                                                          
##       fare            cabin             embarked             boat          
##  Min.   :  0.000   Length:1309        Length:1309        Length:1309       
##  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   :1                                                                 
##       body        home.dest        
##  Min.   :  1.0   Length:1309       
##  1st Qu.: 72.0   Class :character  
##  Median :155.0   Mode  :character  
##  Mean   :160.8                     
##  3rd Qu.:256.0                     
##  Max.   :328.0                     
##  NA's   :1188

Filtrar base de datos

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':    1309 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/ 2 levels "female","male": 1 2 1 2 1 2 1 2 1 2 ...
##  $ survived: Factor w/ 2 levels "Murio","Sobrevivio": 2 2 1 1 1 2 2 1 2 1 ...
sum(is.na(Titanic))
## [1] 263
Titanic <- na.omit(Titanic)

Crear árbol de decisión

# install.packages("rpart")
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) *

Instalar paquetes para generar el arbol de decision

# install.packages("rpart.plot")
library(rpart.plot)

rpart.plot(arbol)

prp(arbol, extra =7, prefix = "fraccion\n")

Conclusiones

En este código utilizamos el árbol de decisión para encontrar qué variables afectan para que una persona que estaba en el Titanic sobreviviera. Primero, después de entender la base de datos se filtraba como factores a las variables que influyen que fueron: la edad, la clase social y el sexo de las personas.

Después se instalaron los paquetes para generar el árbol de decisión, en el cual se puede observar que la primera variable que es decisiva para que la persona sobreviviera era si es hombre ya existía un 63% que no sobreviviera. El factor con un 23%, mas alto, de sobrevivencia era cuando el sexo era mujer con una alta clase, sin importar la edad. Después , la segunda probabilidad más alta de sobrevivencia es 1% siendo mujer , con clase baja y siendo una bebe. Estos son unos de los factores que afectaron directamente a que si una persona sobrevivía en el Titanic.

LS0tCnRpdGxlOiA8c3BhbiBzdHlsZSA9ICJjb2xvcjpncmV5Ij4gIlRpdGFuaWMiCmF1dGhvcjogIk1heXJhIENhbXBveS1BMDAyMjY5MTQiCmRhdGU6ICIyMDIyLTA5LTA2IgpvdXRwdXQ6IAogIGh0bWxfZG9jdW1lbnQ6CiAgICB0b2M6IHRydWUKICAgIHRvY19mbG9hdDogdHJ1ZQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQotLS0KCjxpbWcgc3JjPSIvVXNlcnMvbWF5cmFjYW1wb3lyYW1vcy9Eb3dubG9hZHMvMTM0OTgyMTU5N18wLmpwZyI+CgojIyAqSW1wb3J0YXIgYmFzZSBkZSBkYXRvcyoKYGBge3J9CiMgZmlsZS5jaG9vc2UoKQpiYXNlX2RlX2RhdG9zIDwtIHJlYWQuY3N2KCIvVXNlcnMvbWF5cmFjYW1wb3lyYW1vcy9Eb2N1bWVudHMvU2VtYW5hIDE4IC9BbmFsaXNpcy80IFNlbWVzdHJlIC81dG8gU2VtZXRyZS9BbmFsaXNpcyBkZSBEYXRvcyBDb25jZW50cmFjaW9uL3RpdGFuaWMuY3N2IikKYGBgCgojIyAqRW50ZW5kZXIgYmFzZSBkZSBkYXRvcyoKYGBge3J9CnN1bW1hcnkoYmFzZV9kZV9kYXRvcykKYGBgCgojIyAqRmlsdHJhciBiYXNlIGRlIGRhdG9zKgoKYGBge3J9ClRpdGFuaWM8LSBiYXNlX2RlX2RhdG9zIFssYygicGNsYXNzIiwgImFnZSIsICJzZXgiLCAic3Vydml2ZWQiKV0KVGl0YW5pYyRzdXJ2aXZlZCA8LSBhcy5mYWN0b3IoaWZlbHNlKFRpdGFuaWMkc3Vydml2ZWQ9PTAsICJNdXJpbyIsICJTb2JyZXZpdmlvIikpClRpdGFuaWMkcGNsYXNzPC0gYXMuZmFjdG9yKFRpdGFuaWMkcGNsYXNzKQpUaXRhbmljJHNleCA8LSBhcy5mYWN0b3IoVGl0YW5pYyRzZXgpCnN0cihUaXRhbmljKQoKc3VtKGlzLm5hKFRpdGFuaWMpKQoKVGl0YW5pYyA8LSBuYS5vbWl0KFRpdGFuaWMpCmBgYAoKIyMgKipDcmVhciDDoXJib2wgZGUgZGVjaXNpw7NuKioKYGBge3J9CiMgaW5zdGFsbC5wYWNrYWdlcygicnBhcnQiKQpsaWJyYXJ5KHJwYXJ0KQphcmJvbCA8LSBycGFydChmb3JtdWxhID0gc3Vydml2ZWQgfiAuLCBkYXRhPSBUaXRhbmljKQphcmJvbApgYGAKCiMjICpJbnN0YWxhciBwYXF1ZXRlcyBwYXJhIGdlbmVyYXIgZWwgYXJib2wgZGUgZGVjaXNpb24qCmBgYHtyfQojIGluc3RhbGwucGFja2FnZXMoInJwYXJ0LnBsb3QiKQpsaWJyYXJ5KHJwYXJ0LnBsb3QpCgpycGFydC5wbG90KGFyYm9sKQpwcnAoYXJib2wsIGV4dHJhID03LCBwcmVmaXggPSAiZnJhY2Npb25cbiIpCmBgYAoKIyMgKkNvbmNsdXNpb25lcyoKCkVuIGVzdGUgY8OzZGlnbyB1dGlsaXphbW9zIGVsIMOhcmJvbCBkZSBkZWNpc2nDs24gcGFyYSBlbmNvbnRyYXIgcXXDqSB2YXJpYWJsZXMgYWZlY3RhbiBwYXJhIHF1ZSB1bmEgcGVyc29uYSBxdWUgZXN0YWJhIGVuIGVsIFRpdGFuaWMgc29icmV2aXZpZXJhLiBQcmltZXJvLCAgZGVzcHXDqXMgZGUgZW50ZW5kZXIgbGEgYmFzZSBkZSBkYXRvcyBzZSBmaWx0cmFiYSBjb21vIGZhY3RvcmVzIGEgbGFzIHZhcmlhYmxlcyBxdWUgaW5mbHV5ZW4gcXVlIGZ1ZXJvbjogbGEgZWRhZCwgbGEgY2xhc2Ugc29jaWFsIHkgZWwgc2V4byBkZSBsYXMgcGVyc29uYXMuIAoKRGVzcHXDqXMgc2UgaW5zdGFsYXJvbiBsb3MgcGFxdWV0ZXMgcGFyYSBnZW5lcmFyIGVsIMOhcmJvbCBkZSBkZWNpc2nDs24sIGVuIGVsIGN1YWwgc2UgcHVlZGUgb2JzZXJ2YXIgcXVlICBsYSBwcmltZXJhIHZhcmlhYmxlIHF1ZSBlcyBkZWNpc2l2YSBwYXJhIHF1ZSBsYSBwZXJzb25hIHNvYnJldml2aWVyYSBlcmEgc2kgZXMgaG9tYnJlIHlhIGV4aXN0w61hIHVuIDYzJSBxdWUgbm8gc29icmV2aXZpZXJhLiBFbCBmYWN0b3IgY29uIHVuIDIzJSwgbWFzIGFsdG8sIGRlIHNvYnJldml2ZW5jaWEgZXJhIGN1YW5kbyBlbCBzZXhvIGVyYSBtdWplciBjb24gdW5hIGFsdGEgY2xhc2UsIHNpbiBpbXBvcnRhciBsYSBlZGFkLiBEZXNwdcOpcyAsIGxhIHNlZ3VuZGEgcHJvYmFiaWxpZGFkIG3DoXMgYWx0YSBkZSBzb2JyZXZpdmVuY2lhIGVzIDElIHNpZW5kbyBtdWplciAsIGNvbiBjbGFzZSBiYWphIHkgc2llbmRvIHVuYSBiZWJlLiBFc3RvcyBzb24gdW5vcyBkZSBsb3MgZmFjdG9yZXMgcXVlIGFmZWN0YXJvbiBkaXJlY3RhbWVudGUgYSBxdWUgc2kgdW5hIHBlcnNvbmEgc29icmV2aXbDrWEgZW4gZWwgVGl0YW5pYy4gCg==