dplyr: повторяющиеся строки на основе разделенного фактора
Мне было интересно, если можно использовать 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 ответ
Решение
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