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

替换r中data.table的许多元素,r,data.table,R,Data.table,我有一个单词列表(大约25000个),我需要1)在一堆文本文件中找到每个单词(我一直在读取它们并将它们格式化为data.tables),2)用单词“unk”替换这些单词 如果每个不需要的单词都在名为wordList的列表中,并且每个单词前后都有空格,例如: " aaaa " " aaaahhhhh " " aaaahhhhhh " " aaas " " aaasmtg " " aachallenge " 最好的方法是在循环中使用gsub,如图所示 fo

我有一个单词列表(大约25000个),我需要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))
}
for(i in 1:length(单词列表)){

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

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

Lines[Lines%在%wordlist中]只是一个想法,你可以在一个
gsub
调用中连接字符串,比如
gsub(“aaaa | aaas | aaasmtg”,“unk”,Lines)
,你可以简化如下:
gsub(粘贴(wordlist,collapse=“|”),“unk”,Lines)