私は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;
}