Utilizando uma amostra dos gols do campeonato brasileiro de 2013, gostariamos de saber se existe diferença siginificativa entre o momento em que o gol acontece no primeiro e segundo tempo das partidas. Utilizando a média do momento dos gols obtemos os seguintes resultados:

library(data.table)
library(dplyr)
library(ggplot2)

file <- read.csv("~/Projetos/DataAnalysis/Assignment3/brasileiro2013.csv", sep=";", header=TRUE)

fileSemNone <- file %>%
  filter(tempo_gol != "None")

fileSemNone$tempo_gol <- as.numeric(fileSemNone$tempo_gol)

primeiroTempo <- fileSemNone %>%
  filter(tempo_gol <= 45) %>%
  mutate(tempo_id = '1')

segundoTempo <- fileSemNone %>%
  filter(tempo_gol > 45) %>%
  mutate(tempo_id = '2')

segundoTempo$tempo_gol <- segundoTempo$tempo_gol - 45

t.test(primeiroTempo$tempo_gol, segundoTempo$tempo_gol, alternative = "two.sided")$p.value
## [1] 0.2423342

Temos como hipótese nula que a média do momento dos gols no primeiro e segundo tempo são iguais. Como o p valor ficou maior que 0.05 então não podemos refutar a hipotese nula. Logo, não encontramos nenhuma diferença significativa entre a média do momento dos gols no primeiro e segundo tempo, com 95% de confiança.

Para uma melhor visualização foi criado um gráfico com a média das duas amostras junto com intervalo de confiança.

testPrimeiroTempo <- t.test(primeiroTempo$tempo_gol)
testSegundoTempo <- t.test(segundoTempo$tempo_gol)
ic_1 = c(testPrimeiroTempo$conf.int[1],testPrimeiroTempo$conf.int[2])
ic_2 = c(testSegundoTempo$conf.int[1],testSegundoTempo$conf.int[2])

samples = rbind(primeiroTempo,segundoTempo)

toPlot = summarise(group_by(samples, tempo_id), mean = mean(tempo_gol))
toPlot = mutate(toPlot, lower = ifelse(toPlot$tempo_id == 1,ic_1[1],ic_2[1]))
toPlot = mutate(toPlot, upper = ifelse(toPlot$tempo_id == 1,ic_1[2],ic_2[2]))
ggplot(toPlot, aes(x = tempo_id, y=mean, colour = tempo_id )) + 
  geom_point() +
  geom_errorbar(aes(ymin=lower, ymax=upper), width=.1) +
  labs(y='Média do tempo dos gols (em min)', x='Tempo da partida') +
  theme(panel.background=element_blank())


Utilizando a mediana do momento do gol obtemos os seguintes resultados:

wilcox.test(primeiroTempo$tempo_gol, segundoTempo$tempo_gol, alternative = "two.sided")$p.value
## [1] 0.2088803

Temos como hipótese nula que a mediana do momento dos gols no primeiro e segundo tempo são iguais. Como o p valor ficou maior que 0.05 então não podemos refutar a hipotese nula. Logo, não encontramos nenhuma diferença significativa entre a mediana do momento dos gols no primeiro e segundo tempo, com 95% de confiança.

Assim como no exemplo anterior, foi criado um gráfico para uma melhor visualização com a mediana das duas amostras junto com o intervalo de confiança.

medianaPrimeiroTempo <- wilcox.test(primeiroTempo$tempo_gol, alternative = "two.sided", conf.int = TRUE) 
medianaSegundoTempo <- wilcox.test(segundoTempo$tempo_gol, alternative = "two.sided", conf.int = TRUE) 

ic_1 = c(medianaPrimeiroTempo$conf.int[1],medianaPrimeiroTempo$conf.int[2])
ic_2 = c(medianaSegundoTempo$conf.int[1],medianaSegundoTempo$conf.int[2])

toPlot = summarise(group_by(samples, tempo_id), median = median(tempo_gol))
toPlot = mutate(toPlot, lower = ifelse(toPlot$tempo_id == 1,ic_1[1],ic_2[1]))
toPlot = mutate(toPlot, upper = ifelse(toPlot$tempo_id == 1,ic_1[2],ic_2[2]))
ggplot(toPlot, aes(x = tempo_id, y=median, colour = tempo_id )) + 
  geom_point() +
  geom_errorbar(aes(ymin=lower, ymax=upper), width=.1) +
  labs(y='Mediana do tempo do gol(min)', x='Tempo da partida') +
  theme(panel.background=element_blank())


Existe uma grande rivalidade entre os times do estado de São Paulo e os times do estado do Rio de Janeiro, por essa razão foi investigado se a média dos gols dos times dos dois estados é significativamente diferente ou não.

No ano de 2013 tinhamos quatro times do Rio de Janeiro (Vasco da Gama, Fluminense, Botafogo, Flamengo) e 5 times do estado de São Paulo (Corinthians, Ponte Preta, Santos, São Paulo, Portuguesa).

timesRJ <- c("Vasco da Gama", "Fluminense", "Botafogo", "Flamengo")
timesSP <- c("Corinthians", "Ponte Preta", "Santos", "São Paulo", "Portuguesa")

file$time_a <- as.character(file$time_a)
file$time_b <- as.character(file$time_b)

fileRj_a <- file %>%
  filter(time_a %in% timesRJ) %>%
  as.data.table()

fileRj_b <- file %>%
  filter(time_b %in% timesRJ) %>%
  as.data.table()

fileSP_a <- file %>%
  filter(time_a %in% timesSP) %>%
  as.data.table()
    
fileSP_b <- file %>%
  filter(time_b %in% timesSP) %>%
  as.data.table()

golsRj_a <- fileRj_a[, .SD[.N], by=id_jogo]$placar_time_a
golsRj_b <- fileRj_b[, .SD[.N], by=id_jogo]$placar_time_b
golsRj <- c(golsRj_a, golsRj_b)

golsSP_a <- fileSP_a[, .SD[.N], by=id_jogo]$placar_time_a
golsSP_b <- fileSP_b[, .SD[.N], by=id_jogo]$placar_time_b
golsSP <- c(golsSP_a, golsSP_b)

Será que podemos afimar que a média dos gols dos times do estado do Rio de Janeiro é significativamente diferente da média dos gols dos times de São Paulo? Para verificar isso utilizamos o t.test

t.test(golsSP, golsRj, alternative = "two.sided")$p.value
## [1] 0.1071807

Temos como hipótese nula que a média dos gols dos times do estado do Rio de Janeiro é igual a média dos gols dos times do estado de São Paulo. Como o p valor ficou maior que 0.05 então não podemos refutar a hipotese nula. Para uma melhor visualização foi criado um gráfico com a média das duas amostras junto com intervalo de confiança.

testRj <- t.test(golsRj)
testSP <- t.test(golsSP)
ic_1 = c(testRj$conf.int[1],testRj$conf.int[2])
ic_2 = c(testSP$conf.int[1],testSP$conf.int[2])

toPlot <- data.frame(estado = c("RJ","SP"), media = c(mean(golsRj), mean(golsSP)))
toPlot = mutate(toPlot, lower = ifelse(toPlot$estado == "RJ",ic_1[1],ic_2[1]))
toPlot = mutate(toPlot, upper = ifelse(toPlot$estado == "RJ",ic_1[2],ic_2[2]))

ggplot(toPlot, aes(x = estado, y=media, colour = estado )) + 
  geom_point() +
  geom_errorbar(aes(ymin=lower, ymax=upper), width=.1) +
  labs(y='Média dos gols', x='Estado') +
  theme(panel.background=element_blank())

Logo, não encontramos nenhuma diferença significativa entre a média dos gols dos times do estado do Rio de Janeiro e de São Paulo, com 95% de confiança.


Muitas vezes durante o primeiro turno, muitos times estão focados em outra competições. Também existem times que ainda estão contratando novs jogadores. Por esse motivo, talvez a média de gols do primeiro turno seja significativamente diferente da méda de gols do segundo turno.

primeiroTurno <- file %>%
  filter(id_jogo <= 190) %>%
  as.data.table()

segundoTurno <- file %>%
  filter(id_jogo > 190) %>%
  as.data.table()

primeiroTurno <- primeiroTurno[, .SD[.N], by=id_jogo]
segundoTurno <- segundoTurno[, .SD[.N], by=id_jogo]

Primeiramente vamos analisar a frequência de gols do primeiro turno, mostrada no histograma abaixo:

golsPrimeiroTurno = c(primeiroTurno$placar_time_a, primeiroTurno$placar_time_b)
hist(golsPrimeiroTurno, main="Frequência dos gols do primeiro turno", xlab = "Número de gols")

Observe também a frequência de gols do segundo turno:

golsSegundoTurno = c(segundoTurno$placar_time_a, segundoTurno$placar_time_b)
hist(golsSegundoTurno, main="Frequência dos gols do segundo turno", xlab = "Número de gols")

É possivel notar que os dois histogramas são bem parecidos. É bem provável que a média de gols do primeiro turno não seja diferente da média de gols do segundo turno. Para comprovar isso vamos utilizar o t.test

t.test(golsPrimeiroTurno, golsSegundoTurno, alternative = "two.sided")
## 
##  Welch Two Sample t-test
## 
## data:  golsPrimeiroTurno and golsSegundoTurno
## t = 0.83185, df = 758, p-value = 0.4058
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.09304781  0.22988991
## sample estimates:
## mean of x mean of y 
##  1.265789  1.197368

Temos como hipótese nula que a média dos gols dos times no primeiro turno é igual a média dos gols dos times no segundo turno. Como o p valor ficou maior que 0.05 então não podemos refutar a hipotese nula. Logo, não encontramos nenhuma diferença significativa entre a média dos gols no primeiro e no segundo turno, com 95% de confiança.


Muitos times recebem o apoio da torcida durante os jogos em casa, por esse motivo eles jogam de uma forma diferente quando estão jogando em casa. Será que existe uma diferença significativa na média dos gols dos times jogando em casa e fora de casa?

Para isso utilizamos o t.test. Tendo como hipótese nula que a média de gols dentro e fora de casa é igual e como hipótese alternativa que a média dos gols dentro e fora de casa é diferente.

partidasResultados <- as.data.table(file)[, .SD[.N], by=id_jogo]

t.test(partidasResultados$placar_time_a, partidasResultados$placar_time_b, alternative = "two.sided")
## 
##  Welch Two Sample t-test
## 
## data:  partidasResultados$placar_time_a and partidasResultados$placar_time_b
## t = 5.8864, df = 737.21, p-value = 5.992e-09
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  0.3157048 0.6316636
## sample estimates:
## mean of x mean of y 
## 1.4684211 0.9947368

Como o p valor ficou menor que 0.05 então podemos refutar a hipotese nula. Logo, encontramos diferença significativa entre a média dos gols dentro e fora de casa, com 95% de confiança.

Para uma melhor visualização observe o gráfico abaixo:

dentroDeCasa <- t.test(partidasResultados$placar_time_a)
foraDeCasa <- t.test(partidasResultados$placar_time_b)
ic_1 = c(dentroDeCasa$conf.int[1],dentroDeCasa$conf.int[2])
ic_2 = c(foraDeCasa$conf.int[1],foraDeCasa$conf.int[2])

toPlot <- data.frame(estado = c("Em casa","Fora de Casa"), media = c(mean(partidasResultados$placar_time_a), mean(partidasResultados$placar_time_b)))
toPlot = mutate(toPlot, lower = ifelse(toPlot$estado == "Em casa",ic_1[1],ic_2[1]))
toPlot = mutate(toPlot, upper = ifelse(toPlot$estado == "Em casa",ic_1[2],ic_2[2]))

ggplot(toPlot, aes(x = estado, y=media, colour = estado )) + 
  geom_point() +
  geom_errorbar(aes(ymin=lower, ymax=upper), width=.1) +
  labs(y='Média dos gols', x='') +
  theme(panel.background=element_blank())

É possivel notar que as médias dos gols e os seus intervalos de confiança não se cruzam, se mostrando bem distantes para a média dos gols dos times jogando em casa e fora de casa.