如何在Python代码中使用rpy2将R函数作为参数传递

费尔南多·费雷拉

我试图做的辉煌NMF包Python接口- https://cran.r-project.org/web/packages/NMF/NMF.pdf(因为它比Python的选项更灵活)。到现在为止还挺好。

我想出了这样的东西:

# Python rpy2
__NMF = importr("NMF")
n_comp_R = robjects.IntVector(n_components)
nmf_ro = self.__NMF.nmf(data, n_comp_R, methods, self.seed, nrun=10)

它像一种魅力。方法是我可以使用的可能算法的列表:

nmfAlgorithm()

[1]“ brunet”“ KL”“ lee”“ Frobenius”“ offset”

[6]“ nsNMF”“ ls-nmf”“ pe-nmf”“ siNMF”“ snmf / r”

[11]“ snmf / l”

另一种可能性是使用自定义算法,如NMF文档中所述

# R code
my.algorithm <- function(x, seed, param.1, param.2) {
    # do something with starting point ...
    # return updated starting point
    return(seed)
} 
res <- nmf(data, n_comp, my.algorithm)

如何使用来重现此内容rpy2

我已经尝试过类似的方法:

import rpy2.robjects as robjects

my_algorithm = robjects.r('''
function (x, seed, scale.factor = 1) 
{
    pca <- prcomp(t(x), retx = TRUE)
    factorization.rank <- nbasis(seed)
    cat(seed)
    basis(seed) <- abs(pca$rotation[, 1:factorization.rank])
    coef(seed) <- t(abs(pca$x[, 1:factorization.rank]))/scale.factor
    return(seed)
    }
''')
nmf_ro = __NMF.nmf(data, n_comp_R, my_algorithm.r_repr(), nrun=1)

但这并没有使魔术=(

NMF算法-键“功能=键(x,种子,比例因子> = 1)没有匹配条目”

{

pca <-prcomp(t(x),retx = TRUE)

factorization.rank <-nbasis(种子)

猫(种子)

基础(种子)<-abs(pca $ rotation [,1:factorization.rank])

coef(种子)<-t(abs(pca $ x [,1:factorization.rank]))/ scale.factor

退货(种子)

}”。

请使用以下之一:'brunet','Frobenius','KL','lee','ls-nmf','。M#brunet','nsNMF','offset','pe-nmf','。R #brunet','.R#lee','.R#nsNMF','.R#偏移量','siNMF','.siNMF','snmf / l','snmf / r'。

warnings.warn(x,RRuntimeWarning)

我想知道是否有人可以在这里帮助我?

蓝瓶

最初的提问者在Github上的NMF项目上回答了他的问题如此处所述,您将新算法定义为一个函数,然后使用setNMFMethod将函数添加到执行非负矩阵分解的算法注册表中,然后可以按名称进行调用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用rpy2将Python变量传递给R

来自分类Dev

如何通过Rpy2(v3)在Python中使用R中的`hclust`函数?

来自分类Dev

通过rpy2将列表从python传递到R

来自分类Dev

通过rpy2将列表从python传递到R

来自分类Dev

如何在rpy2 rlf.tapply函数中使用na_rm

来自分类Dev

如何将Python函数与rpy2结合?

来自分类Dev

如何在rpy2中使用R的赋值方法?

来自分类Dev

使用 rpy2 从 Python 调用 R 函数

来自分类Dev

rpy2:如何将向量从 Python 回调函数返回到 R?

来自分类Dev

在Python和Rpy2中使用R:如何ggplot2?

来自分类Dev

具有多个输入参数的 Python RPy2 函数

来自分类Dev

如何将列表传递给rpy2中的R并返回结果

来自分类Dev

使用rpy2运行R函数时出错

来自分类Dev

将代码作为参数传递给R函数

来自分类Dev

使用rpy2将.RData文件读入python

来自分类Dev

使用rpy2将.R文件采购到python时出现问题

来自分类Dev

使用 rpy2 将 Python 二进制数据转换为 R

来自分类Dev

rpy2 zoo 未使用的参数

来自分类Dev

如何使用rpy2访问R包的内部功能?

来自分类Dev

使用rpy2从python调用R脚本

来自分类Dev

使用rpy2从python动态调用R库

来自分类Dev

有关如何使用指针将数组作为函数参数传递的代码片段的解释?

来自分类Dev

有关如何使用指针将数组作为函数参数传递的代码片段的解释?

来自分类Dev

将代码作为函数参数传递

来自分类Dev

如何在Python中将函数作为函数参数传递

来自分类Dev

如何使用rpy2 api从python脚本正确获取R sessionInfo()?

来自分类Dev

如何在Python中使用传递的参数作为默认参数值?

来自分类Dev

如何将rpy2 ListVector(rpy2.robjects.vectors.ListVector)转换为python?

来自分类Dev

如何在Javascript中使用任何引号将字符串作为参数传递

Related 相关文章

  1. 1

    使用rpy2将Python变量传递给R

  2. 2

    如何通过Rpy2(v3)在Python中使用R中的`hclust`函数?

  3. 3

    通过rpy2将列表从python传递到R

  4. 4

    通过rpy2将列表从python传递到R

  5. 5

    如何在rpy2 rlf.tapply函数中使用na_rm

  6. 6

    如何将Python函数与rpy2结合?

  7. 7

    如何在rpy2中使用R的赋值方法?

  8. 8

    使用 rpy2 从 Python 调用 R 函数

  9. 9

    rpy2:如何将向量从 Python 回调函数返回到 R?

  10. 10

    在Python和Rpy2中使用R:如何ggplot2?

  11. 11

    具有多个输入参数的 Python RPy2 函数

  12. 12

    如何将列表传递给rpy2中的R并返回结果

  13. 13

    使用rpy2运行R函数时出错

  14. 14

    将代码作为参数传递给R函数

  15. 15

    使用rpy2将.RData文件读入python

  16. 16

    使用rpy2将.R文件采购到python时出现问题

  17. 17

    使用 rpy2 将 Python 二进制数据转换为 R

  18. 18

    rpy2 zoo 未使用的参数

  19. 19

    如何使用rpy2访问R包的内部功能?

  20. 20

    使用rpy2从python调用R脚本

  21. 21

    使用rpy2从python动态调用R库

  22. 22

    有关如何使用指针将数组作为函数参数传递的代码片段的解释?

  23. 23

    有关如何使用指针将数组作为函数参数传递的代码片段的解释?

  24. 24

    将代码作为函数参数传递

  25. 25

    如何在Python中将函数作为函数参数传递

  26. 26

    如何使用rpy2 api从python脚本正确获取R sessionInfo()?

  27. 27

    如何在Python中使用传递的参数作为默认参数值?

  28. 28

    如何将rpy2 ListVector(rpy2.robjects.vectors.ListVector)转换为python?

  29. 29

    如何在Javascript中使用任何引号将字符串作为参数传递

热门标签

归档