RPy: 用python挪用R函数几例
show两个例子,留意一个是直接从R事情区里取出计较好的数据,一个是挪用R事情区的函数获得返回值。
test.R文件如下:
library(Matrix)
func <- function(x){
m = Matrix(0, 2, 3)
m[1,2] = x
return(list(x=x,y=m))
}
xx = func(3)
test.py文件如下:
from rpy import r
r.source(‘test.R’)
a = r.func(1)
print r[‘@’](a[‘y’], ‘i’), r[‘@’](a[‘y’], ‘p’) ##按照挪用返回值a,输出它的成员:一个稀疏矩阵的一个字段
b = r.func(2)
## a和b是在python挪用函数的功效;xx是在R中挪用函数,由python取回的功效。
print ‘a’, a[‘x’]
print ‘b’, b[‘x’]
print ‘xx’, r.xx[‘x’]
输出功效:
0 [0, 0, 1, 1]
a 1
b 2
xx 3.0