Titanic

Seleccionar base de datos

#file.choose()
base_de_datos <- read.csv ("/Users/ricardogc/Downloads/José Luis titanic.csv .csv")

Entender la base de datos

summary(base_de_datos)
##      pclass         survived                                name     
##  Min.   :1.000   Min.   :0.000   Connolly, Miss. Kate         :   2  
##  1st Qu.:2.000   1st Qu.:0.000   Kelly, Mr. James             :   2  
##  Median :3.000   Median :0.000                                :   1  
##  Mean   :2.295   Mean   :0.382   Abbing, Mr. Anthony          :   1  
##  3rd Qu.:3.000   3rd Qu.:1.000   Abbott, Master. Eugene Joseph:   1  
##  Max.   :3.000   Max.   :1.000   Abbott, Mr. Rossmore Edward  :   1  
##  NA's   :1       NA's   :1       (Other)                      :1302  
##      sex           age              sibsp            parch      
##        :  1   Min.   : 0.1667   Min.   :0.0000   Min.   :0.000  
##  female:466   1st Qu.:21.0000   1st Qu.:0.0000   1st Qu.:0.000  
##  male  :843   Median :28.0000   Median :0.0000   Median :0.000  
##               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      
##       ticket          fare                     cabin      embarked
##  CA. 2343:  11   Min.   :  0.000                  :1015    :  3   
##  1601    :   8   1st Qu.:  7.896   C23 C25 C27    :   6   C:270   
##  CA 2144 :   8   Median : 14.454   B57 B59 B63 B66:   5   Q:123   
##  3101295 :   7   Mean   : 33.295   G6             :   5   S:914   
##  347077  :   7   3rd Qu.: 31.275   B96 B98        :   4           
##  347082  :   7   Max.   :512.329   C22 C26        :   4           
##  (Other) :1262   NA's   :2         (Other)        : 271           
##       boat          body                      home.dest  
##         :824   Min.   :  1.0                       :565  
##  13     : 39   1st Qu.: 72.0   New York, NY        : 64  
##  C      : 38   Median :155.0   London              : 14  
##  15     : 37   Mean   :160.8   Montreal, PQ        : 10  
##  14     : 33   3rd Qu.:256.0   Cornwall / Akron, OH:  9  
##  4      : 31   Max.   :328.0   Paris, France       :  9  
##  (Other):308   NA's   :1189    (Other)             :639

Filtrar base de datos

Titanic <- base_de_datos[,c("pclass","age","sex","survived")]
Titanic$survived <- as.factor(ifelse(Titanic$survived==0, "Murió", "Sobrevivió"))
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 "Murió","Sobrevivió": 2 2 1 1 1 2 2 1 2 1 ...
sum(is.na(Titanic))
## [1] 266
Titanic <- na.omit(Titanic)

Crear árbol de decisión

library(rpart)
arbol <- rpart(formula=survived ~ ., data = Titanic)
arbol
## n= 1046 
## 
## node), split, n, loss, yval, (yprob)
##       * denotes terminal node
## 
##  1) root 1046 427 Murió (0.59177820 0.40822180)  
##    2) sex=male 658 135 Murió (0.79483283 0.20516717)  
##      4) age>=9.5 615 110 Murió (0.82113821 0.17886179) *
##      5) age< 9.5 43  18 Sobrevivió (0.41860465 0.58139535)  
##       10) pclass=3 29  11 Murió (0.62068966 0.37931034) *
##       11) pclass=1,2 14   0 Sobrevivió (0.00000000 1.00000000) *
##    3) sex=female 388  96 Sobrevivió (0.24742268 0.75257732)  
##      6) pclass=3 152  72 Murió (0.52631579 0.47368421)  
##       12) age>=1.5 145  66 Murió (0.54482759 0.45517241) *
##       13) age< 1.5 7   1 Sobrevivió (0.14285714 0.85714286) *
##      7) pclass=1,2 236  16 Sobrevivió (0.06779661 0.93220339) *
library(rpart.plot)

rpart.plot(arbol)

prp(arbol,extra = 7,prefix = "fracción/n")

arbol <- rpart(formula=survived ~ ., data = Titanic)
arbol
## n= 1046 
## 
## node), split, n, loss, yval, (yprob)
##       * denotes terminal node
## 
##  1) root 1046 427 Murió (0.59177820 0.40822180)  
##    2) sex=male 658 135 Murió (0.79483283 0.20516717)  
##      4) age>=9.5 615 110 Murió (0.82113821 0.17886179) *
##      5) age< 9.5 43  18 Sobrevivió (0.41860465 0.58139535)  
##       10) pclass=3 29  11 Murió (0.62068966 0.37931034) *
##       11) pclass=1,2 14   0 Sobrevivió (0.00000000 1.00000000) *
##    3) sex=female 388  96 Sobrevivió (0.24742268 0.75257732)  
##      6) pclass=3 152  72 Murió (0.52631579 0.47368421)  
##       12) age>=1.5 145  66 Murió (0.54482759 0.45517241) *
##       13) age< 1.5 7   1 Sobrevivió (0.14285714 0.85714286) *
##      7) pclass=1,2 236  16 Sobrevivió (0.06779661 0.93220339) *
#install.packages("rpart.plot")
library(rpart.plot)

rpart.plot(arbol)

prp(arbol,extra = 7,prefix = "fracción/n")

Instalar y llamar libreria

#install.packages("shiny")
#library(shiny)

Crear grafica interactiva

Ver la Grafica

Conclusión

Se analizo un arbol de decisiones para observar los porcentajes que tenian los pasajeros del Titanic para sobrevivir. Se tomaron en cuenta los diferentes factores por lo cuales hubieron muertes en el barco los cuales son: clase, años, genero y probabilidad de sobrevivir.

  • El 63% de los Hombres murieron y el 37% sobrevivieron.

  • Niños menores a 9 años tenían mayor oportunidad de sobrevivir.

  • Del 63% de los hombres que murieron el 59% eran mayores de 9.5 años.

Debemos de tomar en cuenta a la hora de progrmar el no equivocarnos con errores de dedo como lo son comas, perentesis ya que esto genera que el sistema de R muestre en los comandos cuando se corre como error.

Esto se puede corregir si tenemos cuidado a la hora de programar y ser cuidadoso con los codigos que estamos estableciendo, asi mismo seriamos mucho más eficientes y claros con lo que queremos analizar.

LS0tCnRpdGxlOiAgPHNwYW4gc3R5bGU9IkNvbG9yOkJyb3duIj4gIsOBcmJvbCBkZSBEZWNpc2nDs24iCmF1dGhvcjogIlJpY2FyZG8gR2FsaWNpYSBDYW5hY2FzY28gLSBBMDE2NTMyNzkiCmRhdGU6ICcyMDIyLTA5LTA4JwpvdXRwdXQ6CiAgaHRtbF9kb2N1bWVudDoKICAgIHRvYzogdHJ1ZQogICAgdG9jX2Zsb2F0OiB0cnVlCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlIApydW50aW5lOiBzaGlueSAKLS0tCgojICoqVGl0YW5pYyoqCgohW10oL1VzZXJzL3JpY2FyZG9nYy9EZXNrdG9wL1RpdGFuaWMuUE5HKQoKIyMgU2VsZWNjaW9uYXIgYmFzZSBkZSBkYXRvcwpgYGB7cn0KI2ZpbGUuY2hvb3NlKCkKYmFzZV9kZV9kYXRvcyA8LSByZWFkLmNzdiAoIi9Vc2Vycy9yaWNhcmRvZ2MvRG93bmxvYWRzL0pvc2XMgSBMdWlzIHRpdGFuaWMuY3N2IC5jc3YiKQpgYGAKCiMjIEVudGVuZGVyIGxhIGJhc2UgZGUgZGF0b3MKYGBge3J9CnN1bW1hcnkoYmFzZV9kZV9kYXRvcykKYGBgCgojIyBGaWx0cmFyIGJhc2UgZGUgZGF0b3MKYGBge3J9ClRpdGFuaWMgPC0gYmFzZV9kZV9kYXRvc1ssYygicGNsYXNzIiwiYWdlIiwic2V4Iiwic3Vydml2ZWQiKV0KVGl0YW5pYyRzdXJ2aXZlZCA8LSBhcy5mYWN0b3IoaWZlbHNlKFRpdGFuaWMkc3Vydml2ZWQ9PTAsICJNdXJpw7MiLCAiU29icmV2aXZpw7MiKSkKVGl0YW5pYyRwY2xhc3MgPC0gYXMuZmFjdG9yKFRpdGFuaWMkcGNsYXNzKQpUaXRhbmljJHNleCA8LSAgYXMuZmFjdG9yKFRpdGFuaWMkc2V4KQpzdHIoVGl0YW5pYykKCnN1bShpcy5uYShUaXRhbmljKSkKClRpdGFuaWMgPC0gbmEub21pdChUaXRhbmljKQpgYGAKCiMjICoqQ3JlYXIgw6FyYm9sIGRlIGRlY2lzacOzbioqCmBgYHtyfQpsaWJyYXJ5KHJwYXJ0KQphcmJvbCA8LSBycGFydChmb3JtdWxhPXN1cnZpdmVkIH4gLiwgZGF0YSA9IFRpdGFuaWMpCmFyYm9sCgpsaWJyYXJ5KHJwYXJ0LnBsb3QpCgpycGFydC5wbG90KGFyYm9sKQoKcHJwKGFyYm9sLGV4dHJhID0gNyxwcmVmaXggPSAiZnJhY2Npw7NuL24iKQphcmJvbCA8LSBycGFydChmb3JtdWxhPXN1cnZpdmVkIH4gLiwgZGF0YSA9IFRpdGFuaWMpCmFyYm9sCiNpbnN0YWxsLnBhY2thZ2VzKCJycGFydC5wbG90IikKbGlicmFyeShycGFydC5wbG90KQoKcnBhcnQucGxvdChhcmJvbCkKCnBycChhcmJvbCxleHRyYSA9IDcscHJlZml4ID0gImZyYWNjacOzbi9uIikKYGBgCgpgYGB7ciBpbmNsdWRlPUZBTFNFfQojbGlicmFyeShzaGlueSkKCiN1aSA8LSBmbHVpZFBhZ2UoCiAgCiMpCgojc2VydmVyIDwtIGZ1bmN0aW9uKGlucHV0LCBvdXRwdXQsIHNlc3Npb24pIHsKICAKI30KCmxpYnJhcnkodmlyaWRpcykKCmBgYAoKIyMgKkluc3RhbGFyIHkgbGxhbWFyIGxpYnJlcmlhKgoKYGBge3J9CiNpbnN0YWxsLnBhY2thZ2VzKCJzaGlueSIpCiNsaWJyYXJ5KHNoaW55KQpgYGAKCgojIyAqQ3JlYXIgZ3JhZmljYSBpbnRlcmFjdGl2YSoKYGBge3IgZXJ1cHRpb25zLCBlY2hvPUZBTFNFfQojc2VsZWN0aW5wdXQoIlRpdGFuaWMiLCAiRWxpZ2UgdW4gZWxlbWVudG8iLGNob2ljZXM9IGMoImFnZSIsICJzdXJ2aXZlZCIsICJzZXgiLCAicGNsYXNzIikpCgojcmVuZGVyUGxvdCAoeyBkIDwtIGdldChpbnB1dCRUaXRhbmljKSBwbG90KGQpfSkKYGBgCgojIyAqVmVyIGxhIEdyYWZpY2EqCgoKCiMjIENvbmNsdXNpw7NuCgpTZSBhbmFsaXpvIHVuIGFyYm9sIGRlIGRlY2lzaW9uZXMgcGFyYSBvYnNlcnZhciBsb3MgcG9yY2VudGFqZXMgcXVlIHRlbmlhbiBsb3MgcGFzYWplcm9zIGRlbCBUaXRhbmljIHBhcmEgc29icmV2aXZpci4gU2UgdG9tYXJvbiBlbiBjdWVudGEgbG9zIGRpZmVyZW50ZXMgZmFjdG9yZXMgcG9yIGxvIGN1YWxlcyBodWJpZXJvbiBtdWVydGVzIGVuIGVsIGJhcmNvIGxvcyBjdWFsZXMgc29uOiBjbGFzZSwgYcOxb3MsIGdlbmVybyB5IHByb2JhYmlsaWRhZCBkZSBzb2JyZXZpdmlyLgoKLSBFbCA2MyUgZGUgbG9zIEhvbWJyZXMgbXVyaWVyb24geSBlbCAzNyUgc29icmV2aXZpZXJvbi4KCi0gTmnDsW9zIG1lbm9yZXMgYSA5IGHDsW9zIHRlbsOtYW4gbWF5b3Igb3BvcnR1bmlkYWQgZGUgc29icmV2aXZpci4KCi0gRGVsIDYzJSBkZSBsb3MgaG9tYnJlcyBxdWUgbXVyaWVyb24gZWwgNTklIGVyYW4gbWF5b3JlcyBkZSA5LjUgYcOxb3MuCgoKRGViZW1vcyBkZSB0b21hciBlbiBjdWVudGEgYSBsYSBob3JhIGRlIHByb2dybWFyIGVsIG5vIGVxdWl2b2Nhcm5vcyBjb24gZXJyb3JlcyBkZSBkZWRvIGNvbW8gbG8gc29uIGNvbWFzLCBwZXJlbnRlc2lzIHlhIHF1ZSBlc3RvIGdlbmVyYSBxdWUgZWwgc2lzdGVtYSBkZSBSIG11ZXN0cmUgZW4gbG9zIGNvbWFuZG9zIGN1YW5kbyBzZSBjb3JyZSBjb21vIGVycm9yLgoKRXN0byBzZSBwdWVkZSBjb3JyZWdpciBzaSB0ZW5lbW9zIGN1aWRhZG8gYSBsYSBob3JhIGRlIHByb2dyYW1hciB5IHNlciBjdWlkYWRvc28gY29uIGxvcyBjb2RpZ29zIHF1ZSBlc3RhbW9zIGVzdGFibGVjaWVuZG8sIGFzaSBtaXNtbyBzZXJpYW1vcyBtdWNobyBtw6FzIGVmaWNpZW50ZXMgeSBjbGFyb3MgY29uIGxvIHF1ZSBxdWVyZW1vcyBhbmFsaXphci4K