R добавить строки в сгруппированный df, используя dplyr

captcoma спросил: 03 ноября 2018 в 09:43 в: r

У меня есть сгруппированный df, и я хотел бы добавить дополнительные строки в начало групп, которые соответствуют переменной (item_code) из df. Дополнительные строки делают нет столбца id. Дополнительные строки не должны дублироваться в группах из df.

Пример данных:

df <- as.tibble(data.frame(id=rep(1:3,each=2),
                     item_code=c("A","A","B","B","B","Z"),
                     score=rep(1,6)))additional_rows <- as.tibble(data.frame(item_code=c("A","Z"),
                                        score=c(6,6)))

Что я пробовал

Я нашел этот пост и попытался применить его: Добавить строку в каждую группу, используя dplyr и add_row ()

df %>% group_by(id) %>% do(add_row(additional_rows %>%
                                     filter(item_code %in% .$item_code)))

Что я получаю:

# A tibble: 9 x 3
# Groups:   id [3]
     id item_code score
  <int> <fct>     <dbl>
1     1 A             6
2     1 Z             6
3     1 NA           NA
4     2 A             6
5     2 Z             6
6     2 NA           NA
7     3 A             6
8     3 Z             6
9     3 NA           NA

Что я ищу:

# A tibble: 6 x 3
     id item_code score
  <int> <fct>     <dbl>
1     1 A             6
2     1 A             1
3     1 A             1
4     2 B             1
5     2 B             1
6     3 B             1
7     3 Z             6
8     3 Z             1 

0 ответов