cambras.Rd 2.37 KB
Newer Older
1
% Generated by roxygen2: do not edit by hand
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
% Please edit documentation in R/cambras.R
\name{cambras}
\alias{cambras}
\title{Resultados do Campeonato Brasileiro de 2010}
\format{Um \code{data.frame} com 380 observações e 5 variáveis.
\describe{

\item{\code{rod}}{Inteiro que identifica o número da rodada.}

\item{\code{home}}{Fator que identifica o time mandante da partida,
    aquele que jogou em casa.}

\item{\code{away}}{Fator que identifica o time desafiante da partida,
    aquele que jogou fora de casa.}

\item{\code{h}}{Número de gols feitos pelo time mandante na partida.}

\item{\code{a}}{Número de gols feitos pelo time desafiante na
    partida.}

}}
\description{
Dados sobre o número de gols dos times mandantes e
    desafiantes de todas as partidas do Campeonato Brasileiro de
    2010.
}
\examples{
29

30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
# Resultados finais na internet.
# browseURL(paste0("http://esportes.terra.com.br/futebol/",
#                  "brasileiro/2010/noticias/0,,OI4339585-EI15413",
#                  ",00-Classificacao+e+Jogos+Serie+A.html"))

Xh <- model.matrix(~-1 + home, cambras)
Xa <- model.matrix(~-1 + away, cambras)

Xha <- Xh - Xa
cambras[1:5, c("home", "away")]
print(as.table(t(Xha[1:5, ])), zero.print = ".")

gsgc <- cbind(scored = t(Xh) \%*\% cambras$h + t(Xa) \%*\% cambras$a,
              conceded = t(Xa) \%*\% cambras$h + t(Xh) \%*\% cambras$a)
colnames(gsgc) <- c("gScored", "gConced")
gsgc

# Pontos em cada partida (empate = 1, vitória = 3).
pts <- with(cambras, {
    d <- h - a
    draw <- d == 0
    winH <- d > 0
    winA <- !(draw | winH)
    x <- cbind(h = winH * 3 + draw, a = winA * 3 + draw)
    return(x)
})

tableIn <- function(x) {
    tb <- table(x)
    f <- rep(0, 3)
    names(f) <- c(0, 1, 3)
    f[names(tb)] <- tb
    return(f)
}

# Derrotas, empates e vitórias.
ldw <-
    do.call(rbind, lapply(tapply(pts[, 1], cambras$home,
                                 FUN = tableIn),
                          FUN = as.vector)) +
    do.call(rbind, lapply(tapply(pts[, 2], cambras$away,
                                 FUN = tableIn),
                          FUN = as.vector))
colnames(ldw) <- c("Lose", "Draw", "Win")
ldw

# Tabela completa de 2010.
pl10 <- t(Xh) \%*\% pts[, "h"] + t(Xa) \%*\% pts[, "a"]
pl10 <- cbind(team = levels(cambras$home), data.frame(pts = pl10))
pl10 <- cbind(pl10, ldw[, 3:1], gsgc)
pl10 <- plyr::arrange(pl10, -pts)
pl10$pos <- rank(-pl10$pts)
pl10
83

84 85
}