2011-11-27 93 views
0

我环顾四周,对错误找不到函数“someFunction”这似乎是一个常见的错误,但我没有发现任何有关Rpy2。我想从我用python制作的矩阵制作热图。Rpy2找不到功能

def HeatMap(HeatData): 
    RHeatMap = robjects.FloatVector([HeatData[i] for i in range(len(HeatData[:,1]))]) 
    HeatMap = robjects.r['matrix'](RHeatMap, nrow = len(HeatData[:,1])) 
    robjects.r('HeatMap = %s' %HeatMap.r_repr()) 
    robjects.r('jsr.colors=colorRampPalette(c("green","black","red"),interpolate="linear")') 
    robjects.r('heatmap(HeatMap, Rowv = NA, Colv = NA, col = topo.colors(100))') 

错误是由最后两行引起的,但是在R中我没有任何问题。

谢谢

回答

0

我在Python2.7和rpy2 2.1.9下没有任何问题。

如果直接调用R函数而不是使用字符串会发生什么?

HeatMap = robjects.r['matrix'](RHeatMap, nrow = len(HeatData[:,1])) 
robjects.r['heatmap'](HeatMap, Rowv = robjects.NA_Integer, Colv = robjects.NA_Integer, col = robjects.r['topo.colors'](100)) 
+0

在RI可以同时运行jsr.colors = colorRampPalette(C( “绿色”, “黑色”, “红”),内插= “线性”)和热图(热图,Rowv = NA,COLV = NA ,col = topo.colors(100))。但我无法通过Rpy2运行这些功能。 – user1068430