Atividades:

Relacionado a manipulação de dados (data) lubridate package. Utilizando o dataset lakers que contém estatísticas jogo a jogo do Los Angeles Lakers na temporada 2008-2009, faça o que se pede:

data(lakers)
## Warning in data(lakers): data set 'lakers' not found

a) Repare que a coluna date no data.frame é um vetor de inteiros. Transforme essa coluna em um vetor de valores com classe date.

library(lubridate)
## 
## Attaching package: 'lubridate'
## The following object is masked from 'package:base':
## 
##     date
lakers$date_2 <- ymd(lakers$date)
head(lakers$date_2)
## [1] "2008-10-28" "2008-10-28" "2008-10-28" "2008-10-28" "2008-10-28"
## [6] "2008-10-28"

b) Crie uma coluna que junte as informações de data e tempo de jogo (colunas date e time) em objetos da classe date.

lakers$time_2 <- hm(lakers$time)
lakers$date_time <- ymd_hm(paste0(as.character(lakers$date),stringr::str_replace_all(lakers$time, "\\b:\\b", "")))
head(lakers$date_time)
## [1] "2008-10-28 12:00:00 UTC" "2008-10-28 11:39:00 UTC"
## [3] "2008-10-28 11:37:00 UTC" "2008-10-28 11:25:00 UTC"
## [5] "2008-10-28 11:23:00 UTC" "2008-10-28 11:22:00 UTC"

c) Crie as colunas dia, mês e ano com as respectivas informações sobre a data do jogo.

lakers$day <- day(lakers$date_2)
lakers$month_num <- month(lakers$date_2)
lakers$month <- months.Date(lakers$date_2)
lakers$year <- year(lakers$date_2)
head(lakers)
##       date opponent game_type  time period     etype team
## 1 20081028      POR      home 12:00      1 jump ball  OFF
## 2 20081028      POR      home 11:39      1      shot  LAL
## 3 20081028      POR      home 11:37      1   rebound  LAL
## 4 20081028      POR      home 11:25      1      shot  LAL
## 5 20081028      POR      home 11:23      1   rebound  LAL
## 6 20081028      POR      home 11:22      1      shot  LAL
##                player result points  type  x  y     date_2     time_2
## 1                                 0       NA NA 2008-10-28  12H 0M 0S
## 2           Pau Gasol missed      0  hook 23 13 2008-10-28 11H 39M 0S
## 3 Vladimir Radmanovic             0   off NA NA 2008-10-28 11H 37M 0S
## 4        Derek Fisher missed      0 layup 25  6 2008-10-28 11H 25M 0S
## 5           Pau Gasol             0   off NA NA 2008-10-28 11H 23M 0S
## 6           Pau Gasol   made      2  hook 25 10 2008-10-28 11H 22M 0S
##             date_time day month_num   month year
## 1 2008-10-28 12:00:00  28        10 outubro 2008
## 2 2008-10-28 11:39:00  28        10 outubro 2008
## 3 2008-10-28 11:37:00  28        10 outubro 2008
## 4 2008-10-28 11:25:00  28        10 outubro 2008
## 5 2008-10-28 11:23:00  28        10 outubro 2008
## 6 2008-10-28 11:22:00  28        10 outubro 2008

d) Em média, quanto tempo os Lakers demoram para arremessar a primeira bola no primeiro período?

Dica: arremessos são representados pela categoria shot da coluna etype.

time <- lakers$time_2[lakers$etype=="shot"]
time <- as.duration(time)/dhours(1)
mean(time) # horas
## [1] 5.822041

Em média os Lakers demoraram 5,82 horas para arremessar a primeira bolas no primeiro período.

e) Em média, quanto tempo demora para sair a primeira cesta de três pontos? Considere toda a base, e cestas de ambos os times.

time <- lakers$time_2[lakers$points==3 & lakers$result=="made"]
time <- as.duration(time)/dhours(1)
mean(time)
## [1] 5.685626

Em média os jogos de basquete com os Lakers demoraram 5,69 horas para marcar a primeira cesta de três ponto, independente do time que marcou, se era os Lakers ou o adversário.