Как просмотреть исходный код алгоритма NMF в R?

Я довольно новый, используя R, я должен запрограммировать новый алгоритм NMF, который будет использоваться в качестве параметра method когда функция nmf() называется.

Для начала я хотел бы просмотреть исходный код встроенных алгоритмов как brunet, KL, lee, но я не могу его найти. Может кто-то помочь мне, пожалуйста?

3 ответа

Решение

Вы можете скачать исходный код здесь, а затем проверить код интересующей вас функции. Кроме того, попробуйте ввести имя функции в консоли. Если он написан на 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>

Если вы используете Rstudio, в R-скрипте вы можете удерживать нажатой клавишу Ctrl и щелкнуть по имени функции, с которой она переходит к источнику функции.

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"))
Другие вопросы по тегам