2014-11-03 89 views
2

我有一个文本,我需要从中提取所有英文单词。比如我想有这将分析矢量从R中的文本中提取英文单词

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

而从这个载体,即“图片”,“地毯式”,“灯”

只返回英文单词的功能我不明白,定义“英语单词”取决于字典,但即使使用基本字典,我也会满意。

+0

不确定,但你可以看看'qdap'包 – 2014-11-03 13:30:49

+0

谢谢,我已经尝试过,但我无法安装它加载所需的软件包:qdapTools 错误:对象'setDT'未导出'命名空间:data.table' 错误:无法加载'qdapTools'包 – Kate 2014-11-03 13:36:17

+0

尝试更新/重新安装最新版本(以'data.table'开头,然后是'qdap') – 2014-11-03 13:37:50

回答

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的最小版本,我认为setDTdata.table包中的函数)总是在附近,但它似乎不在您的版本中。但是要解决这个问题,你不需要安装父代qdap包,只需要qdapDictionaries