Na aula do dia 25/08/2023, vimos como carregar um pacote, ler um banco de dados e excluir conlunas.
OBS: Um asterisco antes e depois de um trecho faz com que ele fique em itálico. Já dois asteriscos, antes e depois de um trecho, faz com que ele fique em negrito.
# Lendo o pacote:library(titanic)
Warning: package 'titanic' was built under R version 4.2.3
# atribuindo titanic_train para o objeto dadosdados <- titanic_train# excluindo colunasdados$PassengerId <-NULLdados$Ticket <-NULLdados$Cabin <-NULLdados$Name <-NULL
Aula 2
Na aula do dia 01/09/2023, aprendemos a ler um banco de dados externo.
library(readxl)
Warning: package 'readxl' was built under R version 4.2.3
# Transformando para fatordados_titanic$Sobreviveu<-as.factor(dados_titanic$Sobreviveu)dados_titanic$Classe<-as.factor(dados_titanic$Classe)dados_titanic$Porto<-as.factor(dados_titanic$Porto)dados_titanic$Sexo<-as.factor(dados_titanic$Sexo)
Vamos mudar agora os nomes das categorias das variáveis qualitativas
Criando uma variável qualitativa a partir de uma quantitativa: Criando a faixa etária
# substiruir {r} por {r, output=F} faz com que a saída do código não apareça no relatório, pois é muito grande.dados_titanic$Faixa_Etaria<-cut(dados_titanic$Idade,c(0,18,65,200))dados_titanic$Faixa_Etariadados_titanic$Faixa_Etarialevels(dados_titanic$Faixa_Etaria)<-c("Até 18 anos", "Maior que 18 anos e até 65 anos", "Maior que 65 anos")
Fazendo uma análise descritiva univariada
Qualitativa
Vamos trabalhar com a variável classe econômica. Vamos construir uma tabela de distribuição de frequências. Conclui-se que a maioria dos passageiros pertencia à terceira classe (55,1%) e a minoria à segunda classe (20,7%). Ver figura 1.
library(summarytools) #chamando o pacote
Warning: package 'summarytools' was built under R version 4.2.3
freq(dados_titanic$Classe) #como queremos fazer uma tabela de distribuição de frequência, usamos a função "freq"
Frequencies
dados_titanic$Classe
Type: Factor
Freq % Valid % Valid Cum. % Total % Total Cum.
-------------- ------ --------- -------------- --------- --------------
Primeira 216 24.24 24.24 24.24 24.24
Segunda 184 20.65 44.89 20.65 44.89
Terceira 491 55.11 100.00 55.11 100.00
<NA> 0 0.00 100.00
Total 891 100.00 100.00 100.00 100.00
# % Valid= frequência relativa (porcentagem)# % Valis cum.= frequencia relativa acumulada (soma das porcenagens)# diferença entre % Valid e % Total: a % valid considera apenas as pessoas que tem informação; a % total considera os passageiros que não possuem informação (os N/A). Ou seja, só haverá diferença quando houver presença de N/A.
Fazendo um Gráfico de barras para a variável classe economica:
# importante deixar o cursor dentro desse chuck e clicar em addins, clicar em ggplot2 builder, se pedir pra instalar algo instalelibrary(ggplot2)
Warning: package 'ggplot2' was built under R version 4.2.3
# CTRL + SHIFT + C= Torna toda a área selecionada como comentário#Para mudar a ordem das categorias de classe econômica:# dados_titanic$Classe<-factor(dados_titanic$Classe, levels=c("Terceira", "Segunda", "Primeira"))# factor(dados_titanic)#eu não preciso fazer todo o caminho através do Addins para mudar algo do grafico. eu posso alterar apenas ali dentro do codigo que gerou o grafico.# para mudar a cor, vou no console e escrevo colors(), aparecerá uma lista de cores.# para saber como é cada cor (pois n da pra saber pelo nome), copie todas as opçoes de cores que apareceu e cole em um arquivo novo, irá aparecer todas os nomes das cores coloridos
Aula 3
Variável Quantitativa
A idade média dos passageiros foi de 29,70 anos (dp=14,53 anos), com mediana igual a 28 anos. A variável pode ser classificada como assimetrica à direita (positiva) e heterogênea (CV>0,30). Por ser uma variável univariada quantitativa, podemos plotar em histograma, em gráfico de densidade e em boxplot (o gráfico em linha não é recomendado pois a idade nao e algo que varia com o tempo nesse caso).
library(summarytools)#ferramenta pra acessar a "biblioteca" de dadosdescr(dados_titanic$Idade)#chamando o pacote $ chamando a variável
Descriptive Statistics
dados_titanic$Idade
N: 891
Idade
----------------- --------
Mean 29.70
Std.Dev 14.53
Min 0.42
Q1 20.00
Median 28.00
Q3 38.00
Max 80.00
MAD 13.34
IQR 17.88
CV 0.49
Skewness 0.39
SE.Skewness 0.09
Kurtosis 0.16
N.Valid 714.00
Pct.Valid 80.13
Gráfico de Histograma
library(dplyr)
Warning: package 'dplyr' was built under R version 4.2.3
Attaching package: 'dplyr'
The following objects are masked from 'package:stats':
filter, lag
The following objects are masked from 'package:base':
intersect, setdiff, setequal, union
library(ggplot2)dados_titanic %>%filter(!is.na(Idade)) %>%ggplot() +aes(x = Idade) +geom_histogram(bins = 30L, fill ="#ED73E3") +labs(x ="Idade (em anos)", y ="Frequência Absoluta", title ="Distribuição da Variável Idade") +theme_gray()
Gráfico de Densidade
Perceba sua cauda para a direita, ou seja, assimetria positiva.
library(dplyr)library(ggplot2)dados_titanic %>%filter(!is.na(Idade)) %>%ggplot() +aes(x = Idade) +geom_density(fill ="#ED73E3") +labs(x ="Idade (em anos)", y ="Densidade", title ="Figura 3") +theme_gray()
library(dplyr)library(ggplot2)dados_titanic %>%filter(!is.na(Idade)) %>%ggplot() +aes(y = Idade) +geom_boxplot(fill ="#ED73E3", width =0.35) +labs(x ="", y ="Idade (em anos)", title ="Figura 4") +theme_gray() +xlim(c(-1,1))
Estatística Descritiva Bivariada
Quali x Quali
Será que existe relação entre a classe econômica e a sobrevivência ao desastre do Titanic? - Variável explicativa: classe econômica - Variável resposta: sobrevivência A tabela abaixo mostra que, dos passageiros da primeira classe, 37% deles não sobreviveram, sendo este percentual maior na segunda (52,7%) e terceira (75,8%) classes.
Cross-Tabulation, Row Proportions
Classe * Sobreviveu
Data Frame: dados_titanic
---------- ------------ ------------- ------------- --------------
Sobreviveu Não Sim Total
Classe
Primeira 80 (37.0%) 136 (63.0%) 216 (100.0%)
Segunda 97 (52.7%) 87 (47.3%) 184 (100.0%)
Terceira 372 (75.8%) 119 (24.2%) 491 (100.0%)
Total 549 (61.6%) 342 (38.4%) 891 (100.0%)
---------- ------------ ------------- ------------- --------------
library(ggplot2)ggplot(dados_titanic) +aes(x = Classe, fill = Sobreviveu) +geom_bar(position ="dodge") +scale_fill_brewer(palette ="Set1", direction =1) +labs(x ="Classe econômica", y ="Frequência absoluta", title ="Figura 5: Relação entre Classe econômica e desfecho do passageiro") +theme_minimal()
Gráfico de Barras Empilhadas
library(ggplot2)ggplot(dados_titanic) +aes(x = Classe, fill = Sobreviveu) +geom_bar(position ="fill") +scale_fill_brewer(palette ="Set1", direction =1) +labs(x ="Classe econômica", y ="Frequência relativa", title ="Figura 6: Relação entre classe econômica e desfecho do passageiro") +theme_minimal()
Quanti X Quanti
Existe correlação entre o número de filhos? Pais a bordo e a idade do passageiro? Ao analisar o coeficiente de correlação de Spearman, observamos uma correlção fraca e negativa (rho = -0.25).
library(ggplot2)ggplot(dados_titanic) +aes(x = Idade, y = N_pais_filhos) +geom_point(shape ="circle", size =1.5, colour ="#0C4C8A") +geom_smooth(span = 1L) +labs(x ="Idade (anos)", y ="Número de Pais - Filhos", title ="Figura 7: Correlação entre o número de Pais - Filhos e idade dos passageiros") +theme_gray()
`geom_smooth()` using method = 'loess' and formula = 'y ~ x'
cor(dados_titanic$Idade , dados_titanic$N_pais_filhos , use ="complete.obs" , method ="spearman")
[1] -0.2542121
Quali X Quanti
Existe relação entre a idade do passageiro e sua sobrevivência? A partir da estatística, podemos observar que ambos os grupos apresentaram medianas iguais a 28 anos (IQR = 18 anos para grupo “Não” e 17 anos para grupo “Sim”). Quanto à assimetria, ambas as distribuiçãos foram assimétricas positivas. A idade possui distribuição heterogênea em ambos os defechos. Cv > 0.30
Descriptive Statistics
Idade by Sobreviveu
Data Frame: dados_titanic
N: 549
Não Sim
----------------- -------- --------
Mean 30.63 28.34
Std.Dev 14.17 14.95
Min 1.00 0.42
Q1 21.00 19.00
Median 28.00 28.00
Q3 39.00 36.00
Max 74.00 80.00
MAD 11.86 13.34
IQR 18.00 17.00
CV 0.46 0.53
Skewness 0.58 0.18
SE.Skewness 0.12 0.14
Kurtosis 0.25 -0.10
N.Valid 424.00 290.00
Pct.Valid 77.23 84.80
library(dplyr)library(ggplot2)dados_titanic %>%filter(!is.na(Idade)) %>%ggplot() +aes(x ="", y = Idade, fill = Sobreviveu) +geom_boxplot() +scale_fill_brewer(palette ="Set1", direction =1) +labs(x =" ", y ="Idade (anos)", title ="Figura 8: Distribuição da idade segundo o desfecho dos passageiros ") +theme_gray()
# Aula 4
# Tabela Descritiva com dados filtrados
A tabela 1 abaixo apresenta as características dos passageiros a bordo do Titanic. Podemos observar que 62% dos passageiros não sobreviveram ao acidente. Quanto a classe ecônomica, a maioria pertencia a terceira classe, representando 55% dos passageiros. 65% eram do sexo masculino e a idade mediana doi de 28 anos (IQR = 20- 38 anos). Quanto ao número de pais ou filhos a bordo, 76% dos passageiros não tinham esse tipo de acompanhante.
#Criando a tabela com os dados filtrados# Filtrando as variáveis que usamos nas nossas perguntas-focolibrary(gtsummary)
Warning: package 'gtsummary' was built under R version 4.2.3
dados2<- dados_titanic[, c("Sobreviveu", "Classe", "Sexo", "Idade", "N_pais_filhos", "Tarifa")]tbl_summary(dados2, label =list (Sobreviveu ~"sobreviventes", Classe ~"Classe econômica", N_pais_filhos ~"Número de pais/filhos"), missing_text ="Sem informação") %>%modify_header(label ~"**variável**") %>%modify_caption("Tabela 1. Características dos passageiros do Titanic.") %>%bold_labels() %>%italicize_levels()
Tabela 1. Características dos passageiros do Titanic.
variável
N = 8911
sobreviventes
Não
549 (62%)
Sim
342 (38%)
Classe econômica
Primeira
216 (24%)
Segunda
184 (21%)
Terceira
491 (55%)
Sexo
Feminino
314 (35%)
Masculino
577 (65%)
Idade
28 (20, 38)
Sem informação
177
Número de pais/filhos
0
678 (76%)
1
118 (13%)
2
80 (9.0%)
3
5 (0.6%)
4
4 (0.4%)
5
5 (0.6%)
6
1 (0.1%)
Tarifa
14 (8, 31)
1 n (%); Median (IQR)
#bold_labels é para deixar em negrito as categorias e italicize_levels é para deixar os resultados/opções das categorias em itálico