我有一个文字,我需要从中提取所有英文单词。例如,我想要一个分析矢量
的函数vector <- c("picture", "carpet", "lamp", "notaword", "anothernotaword")
只返回此矢量中的英文单词,即&#34;图片&#34;,&#34;地毯&#34;,&#34;灯&#34;
我明白&#34;英文单词&#34;的定义取决于字典,但即使使用基本字典,我也会满意。
答案 0 :(得分:6)
您可以使用我维护的软件包 qdapDictionaries (不需要安装父包 qdap )。如果您的数据更复杂,则可能需要使用tolower
等工具才能使其正常工作。这里的想法基本上是查看已知单词列表?GradyAugmented
与您的单词相交的位置。以下是两种非常相似的方法,第一种方法可能会稍微快一些,具体取决于数据:
vector <- c("picture", "carpet", "lamp", "notaword", "anothernotaword")
library(qdapDictionaries)
vector[vector %in% GradyAugmented]
## [1] "picture" "carpet" "lamp"
intersect(vector, GradyAugmented)
## [1] "picture" "carpet" "lamp"
安装 qdap 时收到的错误听起来像@Ben Bolker是正确的。您需要安装data.table的更新版本(我建议使用最新版本)(使用packageVersion("data.table")
进行检查)。这是我的疏忽,不需要最小版本的 data.table ,我认为setDT
( data.table 包中的一个函数)是总是在周围,但它似乎不在你的版本。但要解决此特定问题,您无需安装父 qdap 包,只需 qdapDictionaries 。