我怎么能从R打电话给Sage?

时间:2011-11-09 08:10:35

标签: r sage

通过搜索,我发现从R调用Sage非常无缝。但是,我无法找到有关从Sage致电R的信息。例如,假设我有一个R表达式,我想区分,比如说

temp <- expression(x + x^2)

如何将其发送给圣人并让它区分并发回R表达式?我希望结果几乎等同于

D(temp,'x')

我搜索过CRAN和google但没有找到任何内容。我希望有比基于system功能的解决方案更好的解决方案。我已经看到Ryacas提供了支持,但我对Sage感兴趣。

我使用的是64位Ubuntu。

谢谢!

1 个答案:

答案 0 :(得分:2)

我不知道这是否可行,但Sage库可以导入到Python中,而Python可以与rJython包接口。你可以通过rJython打电话给Sage功能吗?它可能不如RyacasrSymPy包一样干净,但也许它会足够好。

修改 由于Sage使用SymPy,您可以直接与SymPy连接:

require(rSymPy)
x <- Var('x') # Convenience function for: sympy("var(’x’)")
sympy("diff(x + x**2, x, 1)")
# [1] "1 + 2*x"