У меня есть набор данных предметов, для каждого из которых я хочу дополнить данные.Найдите ниже то, что я пытался
x = structure(list(item = c("i1", "i1", "i1", "i1", "i2", "i2", "i2",
"i2"), origin = c("A", "A", "B", "B", "C", "C", "D", "D"), destination = c("a",
"a", "b", "b", "c", "c", "d", "d"), date = c("Q1", "Q2", "Q2",
"Q3", "Q2", "Q3", "Q3", "Q4"), ton = 1:8), .Names = c("item",
"origin", "destination", "date", "ton"), class = "data.frame", row.names = c(NA,
-8L))
ТЕСТ1: Результат этого именно то, что я хочу (но group_by серьезно замедляется, когда applyig на реальном наборе данных со многими элементами):
x %>%
group_by(item ) %>%
tidyr::complete(tidyr::nesting(origin, destination), date) %>%
ungroup()
TEST2: это создает даты для некоторого элемента: слишком много строк:
x %>% tidyr::complete(tidyr::nesting(item , origin, destination), date)
есть ли способ завершить этот набор данных, чтобы получить тот же результат, что и TEST1, но без group_by, чтобы сделать его быстрее?Или, может быть, дата-эквивалент?
Спасибо