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 em 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úme3ro 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 renlaçã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étriucas 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()