我想在我的代码中使用weightSMART()的源代码,而不是使用该函数来编辑函数的默认权重。如何查看weightSMART()的源代码?当我尝试" weightSMART"和getAnywhere(weightSMART())在控制台中显示它。
> getAnywhere(weightSMART())
A single object matching ‘weightSMART’ was found
It was found in the following places
package:tm
namespace:tm
with value
function (m, spec = "nnn", control = list())
{
stopifnot(inherits(m, c("DocumentTermMatrix", "TermDocumentMatrix")),
is.character(spec), nchar(spec) == 3L, is.list(control))
term_frequency <- match.arg(substr(spec, 1L, 1L), c("n",
"l", "a", "b", "L"))
document_frequency <- match.arg(substr(spec, 2L, 2L), c("n",
"t", "p"))
normalization <- match.arg(substr(spec, 3L, 3L), c("n", "c",
"u", "b"))
isDTM <- inherits(m, "DocumentTermMatrix")
if (isDTM)
m <- t(m)
if (normalization == "b") {
charlengths <- tapply(nchar(Terms(m))[m$i] * m$v, m$j,
sum)
}
m$v <- switch(term_frequency, n = m$v, l = 1 + log2(m$v),
a = {
s <- tapply(m$v, m$j, max)
0.5 + (0.5 * m$v)/s[as.character(m$j)]
}, b = as.numeric(m$v > 0), L = {
s <- tapply(m$v, m$j, mean)
((1 + log2(m$v))/(1 + log2(s[as.character(m$j)])))
})
rs <- row_sums(m > 0)
if (any(rs == 0))
warning("unreferenced term(s): ", paste(Terms(m)[rs ==
0], collapse = " "))
df <- switch(document_frequency, n = 1, t = log2(nDocs(m)/rs),
p = max(0, log2((nDocs(m) - rs)/rs)))
df[!is.finite(df)] <- 0
cs <- col_sums(m)
if (any(cs == 0))
warning("empty document(s): ", paste(Docs(m)[cs == 0],
collapse = " "))
norm <- switch(normalization, n = rep.int(1, nDocs(m)), c = sqrt(col_sums(m^2)),
u = {
if (is.null(pivot <- control$pivot)) stop("invalid control argument pivot")
if (is.null(slope <- control$slope)) stop("invalid control argument slope")
(slope * sqrt(col_sums(m^2)) + (1 - slope) * pivot)
}, b = {
if (is.null(alpha <- control$alpha)) stop("invalid control argument alpha")
norm <- double(nDocs(m))
norm[match(names(charlengths), seq_along(norm))] <- charlengths^alpha
norm
})
m <- m * df
m$v <- m$v/norm[m$j]
attr(m, "weighting") <- c(paste("SMART", spec), "SMART")
if (isDTM)
t(m)
else m
}
<bytecode: 0x12ffe9c08>
<environment: namespace:tm>
attr(,"class")
[1] "WeightFunction" "function"
attr(,"name")
[1] "SMART"
attr(,"acronym")
[1] "SMART"
这是源代码吗?