0

我使用 R 很新,我必须编写一个新的 NMF 算法,以便在调用method函数时用作参数nmf()

作为一种开始,我想查看内置算法的源代码为 brunet、KL、lee,但我找不到它。有人能帮助我吗?

4

3 回答 3

1

如果您使用的是 Rstudio,在 R 脚本中,您可以按住 Ctrl 并单击函数的名称,它会跳转到函数源。

于 2016-11-16T11:46:38.247 回答
0

您可以在此处下载源代码,然后检查您感兴趣的函数的代码。此外,请尝试在控制台中输入函数的名称。如果它是用 R 编写的,您可能会看到打印出来的整个函数。例如

f <- function(x) {return(x^2)}
f

function(x) {return(x^2)}

如果该函数是用 C/C++ 编写的,它将为您提供它已编译的信息,您可以在下载的源代码中查找该函数,例如

head
function (x, ...) 
UseMethod("head")
<bytecode: 0x10a0d9158>
<environment: namespace:utils>
于 2016-11-16T12:16:10.760 回答
0
library(NMF)
showMethods("nmf")

Function: nmf (package NMF)
x="data.frame", rank="ANY", method="ANY"
x="formula", rank="ANY", method="ANY"
x="matrix", rank="data.frame", method="ANY"
x="matrix", rank="matrix", method="ANY"
x="matrix", rank="missing", method="ANY"
x="matrix", rank="NMF", method="ANY"
x="matrix", rank="NULL", method="ANY"
x="matrix", rank="numeric", method="character"
x="matrix", rank="numeric", method="function"
x="matrix", rank="numeric", method="list"
x="matrix", rank="numeric", method="missing"
x="matrix", rank="numeric", method="NMFStrategy"
x="matrix", rank="numeric", method="NULL"

接下来选择要查看源代码的方法,如下所示

selectMethod("nmf", c("matrix", "matrix", "ANY"))
selectMethod("nmf", c("data.frame", "ANY", "ANY"))
于 2016-11-16T13:24:29.430 回答