从R中的文本中提取英语单词

时间:2014-11-03 13:29:03

标签: r text word

我有一个文字,我需要从中提取所有英文单词。例如,我想要一个分析矢量

的函数
vector <- c("picture", "carpet", "lamp", "notaword", "anothernotaword")

只返回此矢量中的英文单词,即&#34;图片&#34;,&#34;地毯&#34;,&#34;灯&#34;

我明白&#34;英文单词&#34;的定义取决于字典,但即使使用基本字典,我也会满意。

1 个答案:

答案 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