O objetivo desse trabalho é analisar a base de dados do campeonato brasileiro de futebol , a fim de mostrar as relações sobre aproveitamento e posição no campeonato( englobando vitórias, empates e derrotas) , médias de pontuação por estado, e se os times que mais empatam tendem a ser os rebaixados.
a fonte de dados foi a base de dados sobre o campeonato brasileiro desde 2009 , encontrada no site https://www.kaggle.com/joaotostes/classificacao-brasileirao-10-anos
library(readxl)
Data_Camp_Brasileiro <- read_excel("C:/Users/T-Gamer/Downloads/classificacao-brasileirao-10-anos/Data Camp Brasileiro.xlsx")
View(Data_Camp_Brasileiro)
Significado de cada variavel
Ano = Ano dos jogos
Posição = Posição na classificação do campeonato
Time = Time que esta disputando o campeonato (ex: flamengo,vasco,etc)
Pontos = total de pontos do time no campeonato
Vitoria = total de vitórias da equipe no campeonato
Empates = total de empates da equipe no campeonato
Derrotas = total de derrotas da equipe no campeonato
Gols pró = total de gols que a equipe marcou
Gols contra = total de gols que a equipe sofreu
Saldo Gols = (gols pró) - (gols contra)
Aproveitamento = porcentagem de como o time esta no campeonato de acordo com vitorias,empates e derrotas
Estados = Estado da equipe
a base de dados possui 200 linhas e 12 variaveis , que são referentes as partidas realizadas no campeonato brasileiro desde 2009
Boxplot : Um boxplot pode nos ajudar a visualizar o centro, a dispersão e a assimetria de um conjunto de dados. Além disso, ele é excelente para identificar e controlar valores extremos (outliers). Com ele, você consegue identificar facilmente, qual é o valor que representa melhor os seus dados (mediana).
Diagrama de Dispersão : Diagrama ou gráfico de dispersão é uma ferramenta que indica a existência, ou não, de relações entre variáveis de um processo e sua intensidade, representando duas ou mais variáveis uma em função da outra
plot(Data_Camp_Brasileiro$Pontos~Data_Camp_Brasileiro$Posição, col= "red", xlab= "Posição", ylab= "Pontos", main= "Pontos por Posição")
abline(lm(Data_Camp_Brasileiro$Pontos~Data_Camp_Brasileiro$Posição))
O Diagrama mostra, que em média , um time campeão , tende a ter 80 pontos, e também comprova que para escapar do rebaixamento , são necessãrios em média 45 pontos
boxplot(Data_Camp_Brasileiro$Derrotas~Data_Camp_Brasileiro$Posição, col= "tomato", xlab= "Posição", ylab= "Derrotas", main= "Derrotas por Posição")
Podemos ver que a quantidade de derrotas é um fator importante para decidir o aproveitamento e o posicionamento do time no campeonato , pois mostra se o time está tendendo ao rebaixamento
boxplot(Data_Camp_Brasileiro$Empates~Data_Camp_Brasileiro$Posição, col= "turquoise", xlab= "Posição", ylab= "Empates", main= "Empates por Posição")
Podemos perceber, que a quantidade de empates por posição não é linear, ou seja, não podemos dizer que um time em situação de rebaixamento tende a empatar mais ou não , logo, a quantidade de empates não parece ser um critério relevante
boxplot(Data_Camp_Brasileiro$Vitoria~Data_Camp_Brasileiro$Posição, col= "magenta", xlab= "Posição", ylab= "Vitórias", main= "Vitórias por Posição")
A quantidade de vitórias é um fator importante pois influencia diretamente na média de pontos do campeão e na porcentagem de aproveitamento, além de seguir uma sequencia linear.
Data_Camp_Brasileiro$Aproveitamento <- as.numeric(Data_Camp_Brasileiro$Aproveitamento)
boxplot(Data_Camp_Brasileiro$Aproveitamento~Data_Camp_Brasileiro$Posição, col= "yellowgreen", xlab= "Posição", ylab= "Aproveitamento", main= "Aproveitamento por Posição")
Os boxplots nos mostram que a Relação entre aproveitamento e posição , baseado no calculo entre vitorias, empates e derrotas , é um critério relevante , porém, nem sempre um bom aproveitamento é sinônimo de bom rendimento , ao mesmo tempo que uma equipe pode ter um bom aproveitamento sem ter um bom rendimento , uma equipe pode ter um aproveitamento mediano com um bom rendimento (que é o caso de equipes de pequeno porte que lutam para se manter na primeira divisão)
library(ggplot2)
ggplot(Data_Camp_Brasileiro) +
aes(x = Estados, y = Pontos) +
geom_boxplot(fill = "#0c4c8a") +
labs(title = "médias de ponto por estados") +
theme_minimal()
Podemos ver , que os estados que possuem maior média de pontos (RJ,MG,SP,RS) são os estados em que estão localizados os 12 maiores times do brasil , sendo os paulistas o destaque , o que tem relação direta com o fato de nos ultimos 10 anos, terem ganho o campeonato 5 vezes (2011,2015,2016,2017,2018)
SP > Corinthians, Santos , São Paulo e Palmeiras RJ > Flamengo, Fluminense, Vasco e Botafogo MG > Cruzeiro e Atletico MG RS > Grêmio e Internacional
Para o teste de normalidade :
H0 : os dados seguem uma distribuição normal
H1: os dados não seguem uma distribuição normal
P-valor ≤ 0,05 > Rejeitar H:0
P-valor > 0,05 > Não rejeitar H:0
Para o Teste de correlação
H0 : os dados se correlacionam
H1 : os dados não se correlacionam
P-valor ≤ 0,05 > Rejeitar H:0
P-valor > 0,05 > Não rejeitar H:0
Modelo<-aov(Pontos ~ Posição, data=Data_Camp_Brasileiro)
residuos_Modelo <- residuals(Modelo)
shapiro.test(residuos_Modelo)
##
## Shapiro-Wilk normality test
##
## data: residuos_Modelo
## W = 0.96406, p-value = 5.589e-05
p-valor menor que 0,05 > rejeito H0 > não é normal
kruskal.test(Data_Camp_Brasileiro$Pontos~Data_Camp_Brasileiro$Posição)
##
## Kruskal-Wallis rank sum test
##
## data: Data_Camp_Brasileiro$Pontos by Data_Camp_Brasileiro$Posição
## Kruskal-Wallis chi-squared = 193.84, df = 19, p-value < 2.2e-16
p-valor menor que 0,05 > rejeito H0 > tem correlação
Modelo2<-aov(Derrotas ~ Posição, data=Data_Camp_Brasileiro)
residuos_Modelo2 <- residuals(Modelo2)
shapiro.test(residuos_Modelo2)
##
## Shapiro-Wilk normality test
##
## data: residuos_Modelo2
## W = 0.98502, p-value = 0.03209
p-valor menor que 0,05 > rejeito H0 > não é normal
kruskal.test(Data_Camp_Brasileiro$Derrotas~Data_Camp_Brasileiro$Posição)
##
## Kruskal-Wallis rank sum test
##
## data: Data_Camp_Brasileiro$Derrotas by Data_Camp_Brasileiro$Posição
## Kruskal-Wallis chi-squared = 158.79, df = 19, p-value < 2.2e-16
p-valor menor que 0,05 > rejeito H0 > tem correlação
Modelo3<-aov(Empates ~ Posição, data=Data_Camp_Brasileiro)
residuos_Modelo3 <- residuals(Modelo3)
shapiro.test(residuos_Modelo3)
##
## Shapiro-Wilk normality test
##
## data: residuos_Modelo3
## W = 0.98371, p-value = 0.02049
p-valor menor que 0,05 > rejeito H0 > não é normal
kruskal.test(Data_Camp_Brasileiro$Empates~Data_Camp_Brasileiro$Posição)
##
## Kruskal-Wallis rank sum test
##
## data: Data_Camp_Brasileiro$Empates by Data_Camp_Brasileiro$Posição
## Kruskal-Wallis chi-squared = 28.41, df = 19, p-value = 0.07586
p-valor maior que 0,05 > não rejeito H0 > não tem correlação
Modelo4<-aov(Vitoria ~ Posição, data=Data_Camp_Brasileiro)
residuos_Modelo4 <- residuals(Modelo4)
shapiro.test(residuos_Modelo4)
##
## Shapiro-Wilk normality test
##
## data: residuos_Modelo4
## W = 0.99024, p-value = 0.1936
p-valor maior que 0,05 > não rejeito H0 > é normal
bartlett.test(Vitoria ~ Posição, data=Data_Camp_Brasileiro)
##
## Bartlett test of homogeneity of variances
##
## data: Vitoria by Posição
## Bartlett's K-squared = 22.143, df = 19, p-value = 0.2772
oneway.test(Vitoria ~ Posição, data=Data_Camp_Brasileiro)
##
## One-way analysis of means (not assuming equal variances)
##
## data: Vitoria and Posição
## F = 94.14, num df = 19.000, denom df = 66.266, p-value < 2.2e-16
p-valor menor que 0,05 > rejeito H0 > tem correlação
Modelo5<-aov(Empates ~ Posição, data=Data_Camp_Brasileiro)
residuos_Modelo5 <- residuals(Modelo5)
shapiro.test(residuos_Modelo5)
##
## Shapiro-Wilk normality test
##
## data: residuos_Modelo5
## W = 0.98371, p-value = 0.02049
p-valor menor que 0,05 > rejeito H0 > não é normal
kruskal.test(Data_Camp_Brasileiro$Aproveitamento~Data_Camp_Brasileiro$Posição)
##
## Kruskal-Wallis rank sum test
##
## data: Data_Camp_Brasileiro$Aproveitamento by Data_Camp_Brasileiro$Posição
## Kruskal-Wallis chi-squared = 192.44, df = 19, p-value < 2.2e-16
p-valor menor que 0,05 > rejeito H0 > tem correlação
Modelo6<-aov(Empates ~ Posição, data=Data_Camp_Brasileiro)
residuos_Modelo6 <- residuals(Modelo6)
shapiro.test(residuos_Modelo6)
##
## Shapiro-Wilk normality test
##
## data: residuos_Modelo6
## W = 0.98371, p-value = 0.02049
p-valor menor que 0,05 > rejeito H0 > não é normal
kruskal.test(Data_Camp_Brasileiro$Pontos~Data_Camp_Brasileiro$Estados)
##
## Kruskal-Wallis rank sum test
##
## data: Data_Camp_Brasileiro$Pontos by Data_Camp_Brasileiro$Estados
## Kruskal-Wallis chi-squared = 51.179, df = 9, p-value = 6.459e-08
p-valor menor que 0,05 > rejeito H0 > tem correlação
Podemos concluir que os pontos, derrotas e vitorias tem influência direta na posição da equipe no campeonato , o que influencia na questão do aproveitamento , logo , equipes com mais aproveitamento tendem a liderar o campeonato . Além disso, os estados com maiores médias são os que estão presentes os 12 grandes ja citados acima . O teste de hipótese mostra que não há relação entre empates e posição, logo, confirma o que foi mostrado no boxplot , ou seja , times em situação de rebaixamento não tendem a empatar mais necessariamente