我是 R 和 rpy2 的新手。我正在尝试移植以下示例
library(MASS) # for eqscplot
data(topo, package="MASS")
topo.kr <- surf.ls(2, topo)
trsurf <- trmat(topo.kr, 0, 6.5, 0, 6.5, 50)
到 rpy2。
到目前为止我有
import rpy2.robjects as robjects
robjects.r('library(spatial)')
f1 = robjects.r['surf.ls']
x = robjects.IntVector([1,2,3])
y = robjects.IntVector([1,2,3])
z = robjects.IntVector([1,30,3])
res = f1(2, x,y,z)
我假设结果应该是res
。但是,当我使用 print(res.r_repr())
打印 res
时,我得到一个我无法计算的表达式。
对此有任何帮助将不胜感激。
最佳答案
那么问题就更多了:如何将 R 列表转换为 Python 字典(与计算表达式无关)。 使用 rpy2-2.2.x(和 2.3-dev):
from rpy2.robjects.vectors import ListVector
# make an R list
l = ListVector({'a': 1, 'b': 'b'})
# get a Python dict out of an R list
dict(l.iteritems())
关于python - 使用 rpy2 eval 表达式的指导,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7034526/