我有4个字。它们是 wordA、wordB、wordX 和 wordY。我有一个由 1 列(消息)组成的数据集,消息列的数据类型是因子。我想计算(wordX 和 wordY)的出现总数,然后从每行中(wordA 和 wordB)的出现中减去它,然后将结果放入该行的新列中。
例如,如果消息列的文本是“wordD wordA wordX wordA wordC wordA wordB wordY”,则该值应等于 wordA-wordX+wordA+wordA+wordB-wordY= 1-1+1+1+1-1= +2 。
我写了这段代码,但它不计算重复的单词。如果您能帮助我,我将不胜感激。
for(i in 1:nrow(dataset){
counter=0
if(length(grep("wordA",dataset[i,1],)==1)){
counter=counter+1;
}
if(length(grep("wordB",dataset[i,1])==1)){
counter=counter+1;
}
if(length(grep("wordX",dataset[i,1])==1)){
counter=counter-1;
}
if(length(grep("wordY",dataset[i,1])==1)){
counter=counter-1;
}
dataset[i,2]=counter;
}