Я пытаюсь расширить существующий набор данных, который в настоящее время выглядит следующим образом:
df <- tibble(
site = letters[1:3],
years = rep(4, 3),
tr = c(3, 6, 4)
)
tr - общее количество повторений для каждой комбинации сайт / год. Я просто хочу добавить реплики, а затем переменную ответа для каждой реплики. Это было легко для одной комбинации сайт / год с использованием следующей функции:
f <- function(site=NULL, years=NULL, t=NULL){
df <- tibble(
site = rep(site, each = t, times= years),
tr = rep(1:t, times = years),
year = rep(1:years, each = t)
)
df
}
# For one site:
f(site='a', years=4, t=3)
# Producing this:
# # A tibble: 12 x 3
# site tr year
# <chr> <int> <int>
# 1 a 1 1
# 2 a 2 1
# 3 a 3 1
# 4 a 1 2
# 5 a 2 2
# 6 a 3 2
# 7 a 1 3
# 8 a 2 3
# 9 a 3 3
# 10 a 1 4
# 11 a 2 4
# 12 a 3 4
Как эту функцию можно применить к каждой строке входного кадра данных для получения окончательного кадра данных? Одна из функций применения в base r или pmap_df () в пакете purrr могла бы показаться идеальной, но, поскольку я не знал, как работают эти функции, все мои усилия приводили только к ошибкам.