我有一个单词列表(大约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?
答案 0 :(得分:0)
我认为,不是通过所有单词列表循环,而是需要识别单词列表中哪些行具有字符串,然后简单地替换它们:
Lines[Lines %in% wordlist]<-' unk '