下面的代码应该在rpy2中创建热图
将numpy导入为np
从rpy2.robjects导入r
数据=np.随机.随机((10,10))
r、 热图(数据)
但是,它会导致以下错误
回溯(最近一次呼叫最后一次):
文件“z.py”,第8行,在<;模块>;
labRow=行名称,labCol=列名称)
文件“C:\Python25\lib\site packages\rpy2\robjects\\uuuu init\uuuu.py”,第418行,在调用中__
new_args=[conversion.py2ri(a)for a in args]
默认情况下,文件“C:\Python25\lib\site packages\rpy2\robjects\\ uuuu init\uuuu.py”,第93行
raise(ValueError(“目前无法对类型%s执行任何操作。”%(类型(o)))
ValueError:无法对类型执行任何操作<;键入“numpy.ndarray”>;现在。
从文档中,我了解到r.heatmap需要一个“数字矩阵”。如何将np.array转换为所需的数据类型
您需要添加
导入rpy2.robjects.numpy2ri
rpy2.robjects.numpy2ri.activate()
请参阅rpy2文档numpy部分中的更多内容(这里是旧版本的2.x)
在2.2.x之前,仅进口就足够了
仅这一进口就足以满足需求
自动转换开关
将对象numpy转换为rpy2对象为什么要将其作为可选导入,
虽然它本可以包含在
函数py2ri()
为此提交的原始补丁
功能)虽然两者都是合理有效的
选择,设计决定已作出
为了将rpy2与numpy解耦
最重要的是,不要假设
自动安装numpy
这意味着程序员想要使用
它