在python中嵌入R代码

ali*_*oar 11 python r

我需要在python程序中进行计算,我宁愿在R中创建一些.是否可以在python中嵌入R代码?

Cha*_*guy 8

你应该看看rpy(链接到这里的文档).

这允许你这样做:

from rpy import *
Run Code Online (Sandbox Code Playgroud)

然后你可以使用被调用的对象r进行计算,就像在R中一样.

以下是从doc中提取的示例:

>>> from rpy import *
>>>
>>> degrees = 4
>>> grid = r.seq(0, 10, length=100)
>>> values = [r.dchisq(x, degrees) for x in grid]
>>> r.par(ann=0)
>>> r.plot(grid, values, type=’lines’)
Run Code Online (Sandbox Code Playgroud)


Mat*_*ock 8

RPy是你这类事物的朋友.

scipy,numpy和matplotlib包都对R做了类似的事情并且非常完整,但是如果你想混合语言RPy就是要走的路!

from rpy2.robjects import *

def main(): 
    degrees = 4 
    grid = r.seq(0, 10, length=100) 
    values = [r.dchisq(x, degrees) for x in grid] 
    r.par(ann=0) 
    r.plot(grid, values, type='l') 

if __name__ == '__main__': 
     main()
Run Code Online (Sandbox Code Playgroud)