我有这样的数据
df <- data.frame(A = c("a, a, a, b, b, c, c", "a, a, b, b, b, b, c", "a, a, b, b"), B = c(3, 5, 8))
我想要找到变量 A
的每个观测中最常见的单词,以,
分隔。
我发现的所有方法都只会提取整个列中最常见的单词,例如:
table(unlist(strsplit(df$A,", "))) %>% which.max() %>% names()
我得到了什么
wrong_result <- data.frame(A = c("a, a, a, b, b, c, c", "a, a, b, b, b, b, c"), B = c(3, 5, 8), C = c("b", "b", "b"))
如果两个单词的频率相同,则应同时提取。结果应如下所示:
result <- data.frame(A = c("a, a, a, b, b, c, c", "a, a, b, b, b, b, c", "a, a, b, b"), B = c(3, 5, 8), C = c("a", "b", "a, b"))