替换r中data.table的许多元素

时间:2014-11-28 05:30:54

标签: r data.table

我有一个单词列表(大约25,000个),每个单词我需要1)找到一堆文本文件(我一直在阅读它们并将它们格式化为data.tables)和2)替换每个这些单词的单词'unk'。

如果每个不需要的单词都在名为wordList的列表中,并且每个单词在单词前后都有空格,例如:

" aaaa "        " aaaahhhhh "   " aaaahhhhhh "  " aaas "        " aaasmtg "     " aachallenge "

最好的方法是在循环中使用gsub,如下所示?

for (i in 1:length(wordList)) {
    Lines<-as.data.table(gsub(pattern=wordList[i], replacement=' unk ', Lines))
}

我目前可以这样做,但我有数百个(小)文件需要处理,而我正在循环使用25,000多个单词,在我的小笔记本电脑上完成需要数天时间。我想知道是否有更有效的方法来使用data.tables,或者如果我最好使用其他工具/方法而不是r?

1 个答案:

答案 0 :(得分:0)

我认为,不是通过所有单词列表循环,而是需要识别单词列表中哪些行具有字符串,然后简单地替换它们:

Lines[Lines %in% wordlist]<-' unk '