itellin TF-IDF = 词频(TF)* 逆文档词频(IDF) TF = 某个词在文档中出现的次数/文章的总词数 IDF = log(语料库的文档总数/(包含该词的文档数 + 1)) 那么用一个函数就可以搞定: <br /> tfidf = function(x) t(t(x)/colSums(x))*log(ncol(x)/rowSums(x>0))<br /> 不用for来for去的循环计算。 </p>
ricklovelisa 回复 第1楼 的 itellin:tfidf <- tapply(dtm$v/row_sums(dtm)[dtm$i], dtm$j, mean) * log2(nDocs(dtm)/col_sums(dtm > 0))从一个论文上看到的计算方式,其中输入是词频矩阵,需要加载slam包 </p>