dplyr: повторяющиеся строки на основе разделенного фактора - PullRequest
0 голосов
/ 08 ноября 2018

Мне было интересно, можно ли использовать dplyr для повторения строк на основе результата функции.

Если у меня есть фрейм данных, который выглядит следующим образом:

df <- data.frame(count = 1:4, type = LETTERS[1:4], subtype = letters[1:4], 
             stringsAsFactors = F)
df[2,"subtype"] <- "a,b"

  count type subtype
1     1    A       a
2     2    B     a,b
3     3    C       c
4     4    D       d

Можно ли повторить одну и ту же строку для каждой буквы подтипа после разделения их по запятой? Я хотел бы получить что-то вроде этого:

  count type subtype
1     1    A       a
2     2    B       a
3     2    B       b
4     3    C       c
5     4    D       d

Я пытался использовать rowwise + do, но все еще борюсь без результатов!

Заранее спасибо,

Giovanni

1 Ответ

0 голосов
/ 08 ноября 2018
df <- data.frame(count = 1:4, type = LETTERS[1:4], subtype = letters[1:4], 
                 stringsAsFactors = F)
df[2,"subtype"] <- "a,b"

library(tidyverse)

df %>% separate_rows(subtype)

#   count type subtype
# 1     1    A       a
# 2     2    B       a
# 3     2    B       b
# 4     3    C       c
# 5     4    D       d
...