我需要在 python 程序中进行计算,我更愿意在 R 中进行一些计算。是否可以在 python 中嵌入 R 代码?
问问题
13279 次
3 回答
8
这允许您执行以下操作:
from rpy import *
然后你可以r
像在 R 中那样使用调用的对象进行计算。
这是从文档中提取的示例:
>>> 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’)
于 2013-01-27T19:51:05.217 回答
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()
于 2013-01-27T19:57:35.263 回答
3
当我需要进行 R 计算时,我通常会编写 R 脚本,并使用subprocess
模块从 Python 运行它们。我选择这样做的原因是因为安装的 RI 版本(我认为是 2.16)与当时的 RPy 不兼容(需要 2.14)。
因此,如果您已经“按照您想要的方式”安装了 R,这可能是一个更好的选择。
于 2013-01-27T22:01:55.170 回答