Esse é o resultado da Ativididade 2 da matéria de Estátistica e Probabilidade, adiante veremos análises bivariadas de diferentes tipos: QualitativaxQualitativa, QuantitativaxQuantitativa e QualitativaxQuantitativa.Todas essas análises a seguir serão referente ao banco de dados abaixo:
## # A tibble: 40 × 8
## Aluno Sexo Idade Altura Peso Ingles Bairro `Nº Irmãos`
## <chr> <chr> <dbl> <dbl> <dbl> <chr> <chr> <dbl>
## 1 Eduardo Masculino 20 1.9 90 Avançado Copacabana 2
## 2 Isabela Feminino 23 1.72 67 Basico Botafogo 1
## 3 Pedro Masculino 26 1.84 82 Basico Centro 3
## 4 Rafaela Feminino 21 1.55 67 Intermediario Tijuca 2
## 5 Sara Feminino 19 1.57 55 Intermediario Copacabana 2
## 6 Thaís Feminino 25 1.65 52 Avançado Tijuca 1
## 7 Paula Feminino 35 1.69 60 Basico Botafogo 3
## 8 Ricardo Masculino 24 1.86 75 Avançado Centro 2
## 9 Danilo Masculino 25 1.84 80 Intermediario Tijuca 1
## 10 Maria Feminino 20 1.59 54 Basico Copacabana 3
## # ℹ 30 more rows
Decidi fazer uma análise entre as váriaveis Bairro com o Ingles. Para isso primeiramente criei uma tabela para encontrar a quantidade de alunos em cada bairro em cada nível de inglês possível:
library(dplyr)
##
## 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(tidyr)
contagem <- base_dados %>%
count(Bairro, Ingles) %>%
complete(Bairro, Ingles, fill = list(n = 0))
print(contagem)
## # A tibble: 12 × 3
## Bairro Ingles n
## <chr> <chr> <int>
## 1 Botafogo Avançado 0
## 2 Botafogo Basico 9
## 3 Botafogo Intermediario 3
## 4 Centro Avançado 5
## 5 Centro Basico 3
## 6 Centro Intermediario 2
## 7 Copacabana Avançado 2
## 8 Copacabana Basico 4
## 9 Copacabana Intermediario 4
## 10 Tijuca Avançado 2
## 11 Tijuca Basico 0
## 12 Tijuca Intermediario 6
Tendo essa tabela agora podemos fazer o gráfico para expor essess dados. Estou realizando um gráfico de barras, onde cada barra representa um bairro e está cada uma dividida em cores indicando qual parte dos alunos daquele bairro possuem determinado nível de inglês.
aa<- as.data.frame(contagem)
ggplot(aa, aes(x=Var1,y=Freq,fill=Var2))+
geom_bar(stat= "identity", position="stack")+
labs(title= "Comparação do Bairro do aluno com seu Nível de Inglês",
x= "Bairro",
y= "Número de Alunos",
fill= "Nível de Inglês")+
scale_y_continuous(limits = c(0,14), breaks = seq(0, 14, by = 2))
Em uma primeira ánalise mais rasa podemos perceber que temos duas situações preocupantes que são a falta de alunos Avançados em Botafogo e também a falta de alunos Básicos na Tijuca. Isso abre uma hipótese que o nível de inglês do aluno é independente ao bairro que ele mora. Para isso vou realizar o teste Exato de Fisher pelo fato das frequências esperadas serem de maioria menores ou iguais a 5.
resultado_fisher <- fisher.test(table(base_dados$Ingles,base_dados$Bairro))
resultado_fisher
##
## Fisher's Exact Test for Count Data
##
## data: table(base_dados$Ingles, base_dados$Bairro)
## p-value = 0.004521
## alternative hypothesis: two.sided
Considerando um nível de confiança bem tradicional de 5%, percebemos que a minha hipótese inicial estava incorreta, como o p-valor devolvido é menor que 0,05 então podemos concluir que a localidade do aluno sim é dependente do nível de inglês estáticamente.
##Análise Quantitativa x Quantitativa
Para esse categoria irei fazer uma análise da Altura com a Idade dos alunos, e para isso separamos da nossa base de dados essas informações:
tabela <- subset(base_dados, select = -c(Aluno, Sexo, Peso, Ingles, Bairro, `Nº Irmãos`))
print(tabela)
## # A tibble: 40 × 2
## Idade Altura
## <dbl> <dbl>
## 1 20 1.9
## 2 23 1.72
## 3 26 1.84
## 4 21 1.55
## 5 19 1.57
## 6 25 1.65
## 7 35 1.69
## 8 24 1.86
## 9 25 1.84
## 10 20 1.59
## # ℹ 30 more rows
E depois construi um gráfico de dispersão para poder observar a tendencia de comportamento dessas duas váriaveis em conjunto:
library(ggplot2)
ggplot(tabela, aes(x= Idade, y= Altura))+
geom_point()
Agora quero testar a dependencia da Altura e Idade, é muito trivial supormos que sim e que quanto mais velho provavelmente mais alto você é. Para verificarmos isso vamos a Correlação de Spearman que irá avaliar isso:
resultado_cor <- cor.test(base_dados$Idade, base_dados$Altura, method = "spearman")
print(resultado_cor)
##
## Spearman's rank correlation rho
##
## data: base_dados$Idade and base_dados$Altura
## S = 7727.5, p-value = 0.0858
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
## rho
## 0.2750928
Considerando o mesmo nível de confiança da análise anterior, percebemos novamente que a nossa análise inicial está incorreta. Concluímos isso observando que o p-valor encontrado é menor que o nosso nível de confiança.Logo dentro da turma a altura e a idade das pessoas são características independentes entre si. Isso é visível ao percebemos que o coeficente de correlação (rho) é próximo de zero.
Agora para a Analise Qualitativa x Quantitativa irei analisar o Peso com o Sexo dos alunos. Primeiramente novamente vamos criar a tabela somente com as duas váriaveis que queremos testar. No entanto, nessa análise é interessante termos os valores separados dos alunos do sexo masculino e feminino logo criaremos duas tabelas:
tabela2 <- subset(base_dados, select = -c(Aluno, Idade, Altura, Ingles, Bairro, `Nº Irmãos`))
tabelaM <- subset(tabela2, Sexo == "Masculino")
print(tabelaM)
## # A tibble: 18 × 2
## Sexo Peso
## <chr> <dbl>
## 1 Masculino 90
## 2 Masculino 82
## 3 Masculino 75
## 4 Masculino 80
## 5 Masculino 80
## 6 Masculino 85
## 7 Masculino 82
## 8 Masculino 61
## 9 Masculino 89
## 10 Masculino 90
## 11 Masculino 82
## 12 Masculino 75
## 13 Masculino 80
## 14 Masculino 80
## 15 Masculino 85
## 16 Masculino 82
## 17 Masculino 61
## 18 Masculino 89
tabelaF <- subset(tabela2, Sexo == "Feminino")
print(tabelaF)
## # A tibble: 22 × 2
## Sexo Peso
## <chr> <dbl>
## 1 Feminino 67
## 2 Feminino 67
## 3 Feminino 55
## 4 Feminino 52
## 5 Feminino 60
## 6 Feminino 54
## 7 Feminino 60
## 8 Feminino 68
## 9 Feminino 70
## 10 Feminino 66
## # ℹ 12 more rows
Para uma primeira análise vamos observar os resumos numéricos de cada sexo
summary(tabelaM)
## Sexo Peso
## Length:18 Min. :61.00
## Class :character 1st Qu.:80.00
## Mode :character Median :82.00
## Mean :80.44
## 3rd Qu.:85.00
## Max. :90.00
summary(tabelaF)
## Sexo Peso
## Length:22 Min. :52.00
## Class :character 1st Qu.:56.25
## Mode :character Median :62.00
## Mean :61.91
## 3rd Qu.:67.00
## Max. :70.00
Já podemos perceber que a média de pesos entre os alunos é maior que entre as alunas, agora é importante entendermos se os comportamentos desses dois grupos são similares. Para isso como são dois grupos vamos fazer o teste de Wilcoxon:
wilcox_resposta <- wilcox.test(Peso ~ Sexo, data = tabela2)
print(wilcox_resposta)
##
## Wilcoxon rank sum test with continuity correction
##
## data: Peso by Sexo
## W = 24, p-value = 2.263e-06
## alternative hypothesis: true location shift is not equal to 0
Como o p valor deu muito pequeno menor que o nível de confiança podemos concluir que o comportamento dos pesos entre dos alunos do sexo femino e masculino não são semelhantes. Podemos observar isso por esses gráficos:
list <- subset(tabelaM,select = c(Peso))
list2 <- subset(tabelaF,select = c(Peso))
boxplot(list)
boxplot(list2)