У меня есть фрейм данных жанров книг. Он начинался как два столбца, один для заголовка и один для строки символов, содержащей несколько жанров, подобно этому:
titles <- c("Harry Potter 1", "To Kill A Mockingbird", "The Hunger Games 1")
genres <- c("Fantasy, Young Adult, Fantasy, Magic", "Classics, Fiction, Historical, Historical Fiction, Academic", "Young Adult, Fiction, Science Fiction, Dystopia, Science Fiction")
books <- tibble(
title = titles,
genre = genres)
books
# A tibble: 3 x 2
title genre
<chr> <chr>
1 Harry Potter 1 Fantasy, Young Adult, Fantasy, Magic
2 To Kill A Mockingbird Classics, Fiction, Historical, Historical Fiction, Academic
3 The Hunger Games 1 Young Adult, Fiction, Science Fiction, Dystopia, Science Fiction
В настоящее время жанры расположены в порядке того, сколько людей классифицировали их как этот жанр. Я хотел бы разбить строку жанров на несколько столбцов, указывающих основной жанр, дополнительный жанр и т. Д., Но удалите дубликаты. Разделить жанры на несколько столбцов достаточно просто, и я уверен, что есть какой-то способ заставить функцию, подобную unique (), работать по строкам и опускать дубликаты, но я застрял. Желаемый результат будет выглядеть так:
# A tibble: 3 x 6
title genre1 genre2 genre3 genre4 genre5
<chr> <chr> <chr> <chr> <chr> <chr>
1 Harry Potter and the Sorcerors Stone Fantasy Young Adult Magic NA NA
2 To Kill A Mockingbird Classics Fiction Historical Historical Fiction Academic
3 The Hunger Games Young Adult Fiction Science Fiction Dystopia NA