Я хочу разбить символьный столбец во фрейме данных определенными разделяющими символами (например, пробелами, запятыми и точками с запятой). Однако я хочу исключить определенные фразы (в моем примере я хочу исключить «мой тест») из разделения.
Мне удалось получить обычное разделение строк, но я не знаю, как исключить определенные фразы .
library(tidyverse)
test <- data.frame(string = c("this is a,test;but I want to exclude my test",
"this is another;of my tests",
"this is my 3rd test"),
stringsAsFactors = FALSE)
test %>%
mutate(new_string = str_split(test$string, pattern = " |,|;")) %>%
unnest_wider(new_string)
Это дает:
# A tibble: 3 x 12
string ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9 ...10 ...11
<chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 this is a,test;but I want to exclude my test this is a test but I want to exclude my test
2 this is another;of my tests this is another of my tests NA NA NA NA NA
3 this is my 3rd test this is my 3rd test NA NA NA NA NA NA
Однако мой желаемый результат будет (исключая «мой тест»):
# A tibble: 3 x 12
string ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9 ...10
<chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 this is a,test;but I want to exclude my test this is a test but I want to exclude my test
2 this is another;of my tests this is another of my tests NA NA NA NA NA
3 this is my 3rd test this is my 3rd test NA NA NA NA NA
Есть идеи? (побочный вопрос: есть идеи, как назвать столбцы в unnest_wider?)