我对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上有哪些最好的包来做词干去除类似的拼写,复数等.
您可以使用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)