data.frame中的唯一单词列表

Han*_*ans 4 r

我对R很新,所以请耐心等待我.

我有一个字符向量,其中的列以不一致的格式描述疾病和诊断关键字.样品是:

flu
fever/feverish
fever cold
Run Code Online (Sandbox Code Playgroud)

我正在寻找从中提取所有独特单词的最佳方法.我能想到的最好的过程是给我一个向量的向量:

[[1]]
[[1]][[1]]
[1] "flu"

[[2]]
[[2]][[1]]
[1] "fever" "feverish"
...
Run Code Online (Sandbox Code Playgroud)

我通过使用:

split_words <- function(x){ strsplit(x, "[^[:alpha:]]+") }
lapply(diagnoses, split_words)
Run Code Online (Sandbox Code Playgroud)

将此转换为单个向量或单列数据帧的最佳方法是什么,以便我可以unique在此向量上运行并删除重复项.

R上有哪些最好的包来做词干去除类似的拼写,复数等.

Ric*_*ven 7

您可以使用unlistafter strsplit来获取包含所有元素的向量,以及unique唯一元素.

x <- c("flu", "fever/feverish", "fever cold")
( ul <- unlist(strsplit(x, "\\s+|[[:punct:]]")) )
# [1] "flu"      "fever"    "feverish" "fever"    "cold"  
unique(ul)
# [1] "flu"      "fever"    "feverish" "cold"  
Run Code Online (Sandbox Code Playgroud)