Я создал примерный набор данных, похожий на ваш, со следующим кодом:
sample <- tribble(~funnel_term, "['Sexual']", "['Islam', 'Religion']", "['Sexual', 'Islam']")
, который дает вам фрейм данных, который выглядит следующим образом:
funnel_term
<chr>
1 ['Sexual']
2 ['Islam', 'Religion']
3 ['Sexual', 'Islam']
Вы можете избавиться скобок и одинарных кавычек, а затем разделяют строки так, чтобы каждый элемент в списке становился своей собственной строкой
sample.1 <- sample %>% mutate(funnel_term_new = gsub("\\[|\\]|\'", "", funnel_term)) %>% separate_rows(funnel_term_new, sep = ", ")
, которая дает вам фрейм данных, который выглядит следующим образом:
funnel_term funnel_term_new
<chr> <chr>
1 ['Sexual'] Sexual
2 ['Islam', 'Religion'] Islam
3 ['Islam', 'Religion'] Religion
4 ['Sexual', 'Islam'] Sexual
5 ['Sexual', 'Islam'] Islam
Теперь, когда у вас есть все термины воронки в их отдельной строке, вы можете использовать простые функции dplyr
, чтобы получить счетчик каждого уникального funnel_term :
sample.final <- sample.1 %>% group_by(funnel_term_new) %>% summarise(n = n())
funnel_term_new n
<chr> <int>
1 Islam 2
2 Religion 1
3 Sexual 2