tm
パッケージ内の tf-idf 加重関数の変更に関する自分の質問を解決しようとしています: https://stackoverflow.com/questions/15045313/ching-tf-idf-weight-function-weight-not-by-occurrences-期間中の数による
そうすることで、TermDocumentMatrixweightTfIdf
に次のコードを含む関数を見ています。m
cs <- col_sums(m)
と
rs <- row_sums(m)
row_sums
しかし、関数またはのドキュメントが見つかりませんcol_sums
。それらを使用して独自の重み付け関数を作成しようとすると、エラーが発生します。Error in weighting(x) : could not find function "col_sums"
これらの関数はどこで定義されていますか?
R
以下から完全な機能情報を貼り付けました。
function (m, normalize = TRUE)
{
isDTM <- inherits(m, "DocumentTermMatrix")
if (isDTM)
m <- t(m)
if (normalize) {
cs <- col_sums(m)
if (any(cs == 0))
warning("empty document(s): ", paste(Docs(m)[cs ==
0], collapse = " "))
names(cs) <- seq_len(nDocs(m))
m$v <- m$v/cs[m$j]
}
rs <- row_sums(m > 0)
if (any(rs == 0))
warning("unreferenced term(s): ", paste(Terms(m)[rs ==
0], collapse = " "))
lnrs <- log2(nDocs(m)/rs)
lnrs[!is.finite(lnrs)] <- 0
m <- m * lnrs
attr(m, "Weighting") <- c(sprintf("%s%s", "term frequency - inverse document frequency",
if (normalize) " (normalized)" else ""), "tf-idf")
if (isDTM)
t(m)
else m
}
<environment: namespace:tm>
attr(,"class")
[1] "WeightFunction" "function"
attr(,"Name")
[1] "term frequency - inverse document frequency"
attr(,"Acronym")
[1] "tf-idf"