Вот один вариант с separate_rows
library(tidyverse)
df1 %>%
separate_rows(Tags, sep = "\\s+&\\s+") %>%
group_by(Tags) %>%
summarise(SN_No = first(SN_No), Frequency_Count = sum(Frequency_Count)) %>%
select(names(df1))
# A tibble: 3 x 3
# SN_No Tags Frequency_Count
# <int> <chr> <int>
#1 1 Problem 1 625769212
#2 2 Problem 2 635381651
#3 3 Problem 3 633793394
данными
df1 <- structure(list(SN_No = 1:6, Tags = structure(c(1L, 4L, 6L, 2L,
5L, 3L), .Label = c("Problem 1", "Problem 1 & Problem 2",
"Problem 1 & Problem 2 & Problem 3",
"Problem 2", "Problem 2 & Problem 3", "Problem 3"), class = "factor"),
Frequency_Count = c(56325L, 11233L, 546321L, 2123345L, 9657531L,
623589542L)), .Names = c("SN_No", "Tags", "Frequency_Count"
), class = "data.frame", row.names = c(NA, -6L))