问题:如何将R对象转换为python对象

我的情况:我需要将cor.test()的结果用于python例程。

correlation = robjects.r('function(x, y) cor.test(x, y)')
corr= correlation(robjects.IntVector(goodtotemp), robjects.IntVector(goodGDPs))
print corr

print corr[3]
print 'coef:',type(corr[3])


预期的输出:

     cor
0.984881
coef: <class 'rpy2.robjects.vectors.FloatVector'>


但是,我不能将corr [3]用作python对象,

c=corr[3]
print 'c:',c*10., type(c)


看(这是我知道我做错了的地方!),输出:

c:
Traceback (most recent call last):
  File "./GDPAnalyzer.py", line 234, in <module>
    print 'c:',c*10., type(c)
TypeError: unsupported operand type(s) for *: 'FloatVector' and 'float'


任何提示/帮助表示赞赏!

最佳答案

分段错误是应该报告为rpy2错误的错误。否则,请尝试:

c.ro * 3


要么:

c[0] * 3

关于python - 使用rpy2将R对象转换为Python对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5652855/

10-12 17:07