转换Python列表以与rpy2 FloatVector一起使用

时间:2015-02-09 17:46:41

标签: python rpy2

这段代码效果很好(在很大程度上归功于帮助我的SO天才)

import os
from rpy2.robjects.packages import SignatureTranslatedAnonymousPackage
from rpy2.robjects.vectors import IntVector, FloatVector

with open ('sampleSizeWrapper.R') as fh:
        rcode = os.linesep.join(fh.readlines())
        wrapper = SignatureTranslatedAnonymousPackage(rcode,"wrapper")

a=(0.8,0.9,0.95,0.995);

wrapper.saveSpecContours(IntVector((0,1)),
                 0.1, FloatVector(a),
                 0.001, 1, 986)

使用" a"像这样硬编码..我没有问题,但是当我将值传递给我的Python脚本(来自网络,通过JSON),看起来像这样......

a=data["sens"]

""然后变成" 0.8,0.9,0.95,0.995"

但是当我试图调用FloatVector(a)时,我得到了......

ValueError: Error while trying to convert element 1 to a double.

我对Python的新手状态让我对为什么这不起作用感到困惑(虽然我确定它与将Python列表转换为1D向量有关)是否有人有一个想法如何制作" a"如果FloatVector没有硬编码,可以使用它吗?

非常感谢你。 JW

0 个答案:

没有答案