Dynami c Функция временного ряда R - PullRequest
1 голос
/ 26 января 2020

В настоящее время у меня есть временной ряд футбольных данных для еженедельной статистики по таким переменным, как удары и голы. Я хочу создать функцию «формы» с вводом количества игр (указать дату) и переменную выбора (удары, голы и т. Д. c), чтобы я мог проверять форму игроков на предмет определенной статистики за последние 4 игры, 6 игр или любой другой период, который я укажу. Фрейм данных имеет вид:

week = as.vector(c(rep(25, 5), rep(26, 5), rep(27, 5)))
date = as.vector(c(rep("2019-08-09 15:00:00", 5), rep("2019-08-16 15:00:00", 5), rep("2019-08-23 15:00:00", 5)))
players = c("Player 1", "Player 2", "Player 3", "Player 4", "Player 5")
name = as.vector(c(rep(players, 3)))
goals = as.vector(sample(c(0:2), 15, replace = T))
shots = as.vector(sample(c(0:8), 15, replace = T))

data = data.frame(week, date, name, goals, shots)

Имеет ли смысл создавать функцию с использованием dplyr и входных переменных для периода времени и типа переменной? Или есть какой-то пакет, который сделает это для меня?

1 Ответ

1 голос
/ 26 января 2020

Этот ответ может дать вам представление о том, как отфильтровать фрейм данных по дате или играм, как указано в комментариях:

library(tidyverse)
library(lubridate)

data = tibble(
  week = rep(31:40, each = 2),
  date = seq.Date(ymd("2019-01-01"), length.out = 20, by = "months"),
  name = paste0("player", rep(1:4, each = 5)),
  goals = sample(c(0:2), 20, replace = T),
  shots = sample(c(0:8), 20, replace = T)
)


# last 3 months or after
data %>%
  filter(date > (today() %m-% months(3) ))

# last 5 games
data %>%
  filter(week > (max(week) - 4) )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...