Надеюсь, у меня быстрый вопрос, но мне было трудно понять, что я хотел бы сделать. Я хотел бы:
- Сохранить группировку, которая существует в данных
- Добавить строку к каждой группе, которая имеет ноль в качестве значения для «значения» и для «месяцев в периоде» "как первая строка этой группы
Таким образом, первая строка нового фрейма данных будет 1, 0, 0 для my_group, value, months_in_period. Когда мы нажимаем my_group = 3, первая строка будет 3, 0, 0 для my_group, value, months_in_period
Я видел этот вопрос здесь , который очень похож, но отличается тем, что я хочу добавить строку для каждой группировки во фрейме данных.
Пример данных
df_example <-
structure(list(my_group = c(1L, 1L, 1L, 1L, 3L, 3L, 3L, 5L, 5L,
5L, 7L, 7L, 7L), value = c(0.11, -1.27, -1.61, -0.59, -0.56,
-2.06, -2.53, 0.98, -0.06, -2.65, -0.54, -0.05, -1.33), months_in_period = c(1L,
2L, 3L, 4L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L)), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -13L))
# A tibble: 13 x 3
my_group value months_in_period
<int> <dbl> <int>
1 1 0.11 1
2 1 -1.27 2
3 1 -1.61 3
4 1 -0.59 4
5 3 -0.56 1
6 3 -2.06 2
7 3 -2.53 3
8 5 0.98 1
9 5 -0.06 2
10 5 -2.65 3
11 7 -0.54 1
12 7 -0.05 2
13 7 -1.33 3
Я пробовал это, но это явно не работает:
df_example %>%
group_by(my_group) %>%
rbind(data.frame(my_group = .$my_group, value = 0, months_in_period = 0), .)
Любая помощь приветствуется!