Python 编程/使用 R 扩展
外观
可以从 Python 中直接调用 R 函数甚至模块。一种简单的方法是使用 rpy2 接口。在以下代码段中,从 bioconductor 门户加载了一个名为 preprocessCore 的 R 模块,并对在 python 中创建的矩阵应用分位数归一化函数,然后将其转换回 python。
import rpy2.robjects as robjects
from rpy2.robjects.packages import importr
import numpy
preprocessCore = importr('preprocessCore')
matrix = [ [1,2,3,4,5], [1,3,5,7,9], [2,4,6,8,10] ]
v = robjects.FloatVector([ element for col in matrix for element in col ])
m = robjects.r['matrix'](v, ncol = len(matrix), byrow=False)
Rnormalized_matrix = preprocessCore.normalize_quantiles(m)
normalized_matrix = numpy.array( Rnormalized_matrix)
因此可以处理 R 模块和对象。