python - 使用 rpy2 eval 表达式的指导

标签 python r rpy2 cran

我是 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/

相关文章:

python - 如何在opencv(阈值)中改变轮廓形成的区域

python - 在 Python 中编码 LED 选择器时遇到问题

python Pycharm : Out of memory when loading large JSON files

r - ggplot() 线条透明度

python - rpy2剧情问题

python - rpy2 的 R_HOME 错误

python - python 中的 float 给出了错误的答案

R - 批量列值替换

r - 使用 "."分隔符 R 将一列拆分为 2 列

python - rpy2 tests getting "NotImplementedError: Conversion from rpy2 DataFrame to pandas' DataFrame"on ubuntu