2014-11-03 110 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