Gabarito Capítulo 13

Base train.csv

Leia o arquivo train.csv,na pasta datasets, com os dados de alguns passageiros do acidente do Titanic como informado no Capítulo 2. e responda as questões:

#Primeiro passo é mudar o diretório
setwd("C:\\Users\\anna.barros\\Dropbox\\FGV - Big Data & Data Science - alunos\\01 Big Data & Data Science + Python - Anna\\Turma_3\\datasets")

#Segundo passo é ler o arquivo:
titanic<-read.csv("train.csv")
  1. Quantas variáveis possui o arquivo? Quantas observações o arquivo tem?
#variavies
ncol(titanic)
## [1] 12
#observações
nrow(titanic)
## [1] 891
  1. Quais são as classes das variáveis?
str(titanic)
## 'data.frame':    891 obs. of  12 variables:
##  $ PassengerId: int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Survived   : int  0 1 1 1 0 0 0 0 1 1 ...
##  $ Pclass     : int  3 1 3 1 3 3 1 3 3 2 ...
##  $ Name       : Factor w/ 891 levels "Abbing, Mr. Anthony",..: 109 191 358 277 16 559 520 629 417 581 ...
##  $ Sex        : Factor w/ 2 levels "female","male": 2 1 1 1 2 2 2 2 1 1 ...
##  $ Age        : num  22 38 26 35 35 NA 54 2 27 14 ...
##  $ SibSp      : int  1 1 0 1 0 0 0 3 0 1 ...
##  $ Parch      : int  0 0 0 0 0 0 0 1 2 0 ...
##  $ Ticket     : Factor w/ 681 levels "110152","110413",..: 524 597 670 50 473 276 86 396 345 133 ...
##  $ Fare       : num  7.25 71.28 7.92 53.1 8.05 ...
##  $ Cabin      : Factor w/ 148 levels "","A10","A14",..: 1 83 1 57 1 1 131 1 1 1 ...
##  $ Embarked   : Factor w/ 4 levels "","C","Q","S": 4 2 4 4 4 3 4 4 4 2 ...
  1. Qual é a média das dos preços dos tickets?
media<-mean(titanic$Fare)

media
## [1] 32.20421
  1. Faça um filtro na tabela e crie dois outros data frames. Um para o genero masculino e o outro para o genero feminino.
homens<-titanic[which(titanic$Sex=="male"),]

mulheres<-titanic[which(titanic$Sex=="female"),]
  1. Crie duas listas uma para informações do data frame do genero feminino e outro para o genero masculino. Cada lista deve ser composta:

    • Número total de Passageiros
    • Número de Sobreviventes
    • Numero de passageiros na primeira classe
    • preço do ticket
    • numero de parentes\(\backslash\)filhos
#lista homens

total_passageiros<-nrow(homens)
sobreviventes<-nrow(homens[which(homens$Survived==1),])
primeira_classe<-nrow(homens[which(homens$Pclass==1),])
preco_ticket<-mean(homens$Fare)
parentes<-(sum(homens$SibSp)/nrow(homens))+(sum(homens$parch)/nrow(homens))

lista_homens<-list(total_passageiros=total_passageiros,sobreviventes=sobreviventes,
                   primeira_classe=primeira_classe,
                   preco_ticket=preco_ticket,parentes=parentes)

lista_homens
## $total_passageiros
## [1] 577
## 
## $sobreviventes
## [1] 109
## 
## $primeira_classe
## [1] 122
## 
## $preco_ticket
## [1] 25.52389
## 
## $parentes
## [1] 0.4298094
#lista mulheres

total_passageiros<-nrow(mulheres)
sobreviventes<-nrow(mulheres[which(mulheres$Survived==1),])
primeira_classe<-nrow(mulheres[which(mulheres$Pclass==1),])
preco_ticket<-mean(mulheres$Fare)
parentes<-(sum(mulheres$SibSp)/nrow(mulheres))+(sum(mulheres$parch)/nrow(mulheres))

lista_mulheres<-list(total_passageiros=total_passageiros,sobreviventes=sobreviventes,
                   primeira_classe=primeira_classe,
                   preco_ticket=preco_ticket,parentes=parentes)

lista_mulheres
## $total_passageiros
## [1] 314
## 
## $sobreviventes
## [1] 233
## 
## $primeira_classe
## [1] 94
## 
## $preco_ticket
## [1] 44.47982
## 
## $parentes
## [1] 0.6942675

Com base nas listas criadas, responda:

  1. Qual genero teve o maior número de pessoas embarcadas?
ifelse(lista_mulheres$total_passageiros>lista_homens$total_passageiros,
       "Mulhereses embarcaram mais","Homens Embarcaram mais")
## [1] "Homens Embarcaram mais"
  1. Qual genero sobreviveu mais?
ifelse(lista_mulheres$sobreviventes>lista_homens$sobreviventes,
       "Mulheres sobreviveram mais","Homens sobreviveram mais")
## [1] "Mulheres sobreviveram mais"
  1. Qual genero teve a maior média do número de parentes?
ifelse(lista_mulheres$parentes>lista_homens$parentes,
       "Mulheres tiveram mais parentes","Homens tiveram mais parentes")
## [1] "Mulheres tiveram mais parentes"