我想在單詞列表與其他列表匹配時加上一個權重,但我不明白該怎麼做。 下面是一個例子:字匹配計算
require("stringr")
sample = c("You're awesome and I love you",
"I hate and hate and hate. So angry. Die!")
word.neg = c("hate","angry.")
word.neg.coef =c(-20,-4)
word.list = str_split(sample, '\\s+')
sapply(word.list,function(x) match(x,word.neg))
test <- lapply(word.list, function(x) sum(!is.na(match(x,neg.words))))
test2 <-unlist(test)
data.frame(sample,test2)
正如你所看到的比賽返回字的位置後,我做的真正的總和。
但我想要做的就是施加一個重量,這意味着每次看到討厭它應用-20和每次看到生氣。它適用-4 所以在最後我想是這樣的
data.frame(sample,score=c(0,-24))
換句話說什麼是查找文字列表的句子和應用係數的最佳途徑。 我的其他問題,也知道有一些不得不的話,而不是位置:
sapply(word.list,function(x) match(x,word.neg))
這
[[2]] [1] NA恨NA恨NA NA NA生氣。 NA
取而代之的是:
[[2]]
[1] NA 1 NA 1 NA NA NA 2 NA
謝謝
我喜歡您建立解決方案的方式。 – user3969377 2014-10-12 15:17:06
感謝它的完美 – bimetcarentre 2014-10-12 15:20:54