У меня есть некоторые данные по статистике игроков НФЛ. Я хочу разделить его на обучающие и тестовые наборы данных, где разделение основано на годе наблюдения.
В частности, мои данные содержат наблюдения статистики игроков за 1999–2019 годы. Я хочу случайным образом выбрать 20% лет (4 года) данных, которые будут служить моим набором тестов, а затем получить оставшиеся 17 лет данные будут моим тренировочным набором.
Теперь у меня есть:
# Set seed
set.seed(43)
# Determine how many years of data should be in test
split <- round(nrow(as.data.frame(table(data$year)))*0.20)
# Pick (split) random years to keep as test
test_years <- sample(data$year, split)
Что я хочу знать, как написать:
train <- data where year is not in test_years
Как бы я поступил это?