gpt4 book ai didi

r - 在字符串值中查找最常见的单词

转载 作者:行者123 更新时间:2023-12-05 02:27:29 24 4
gpt4 key购买 nike

我的数据看起来像

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"))

最佳答案

你可以这样做:

library(dplyr)
library(stringr)
library(purrr)
df %>%
mutate(maxi = map(str_split(A, pattern = ", "),
~ toString(names(which(table(.x) == max(table(.x)))))))

# A B maxi
#1 a, a, a, b, b, c, c 3 a
#2 a, a, b, b, b, b, c 5 b
#3 a, a, b, b 8 a, b

关于r - 在字符串值中查找最常见的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73089750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com