Вычитание FloatVector из FloatVector с использованием rpy2 - PullRequest
0 голосов
/ 23 ноября 2018

Я использую пакет grf в R в моем коде Python с помощью rpy2.Тем не менее, я немного запутался со структурой, которую возвращает rpy2.

Здесь я пытаюсь найти разницу двух векторов, просто вычитая.Если бы это был просто вектор в R, я бы просто вычел, используя -.

Но вот моя проблема:

    pred_w1.rx2("predictions")
    Out[92]: 
    R object with classes: ('numeric',) mapped to:
    <FloatVector - Python:0x1c17447e08 / R:0x7fe214bf7c00>
   [-0.548409, -0.224735, 0.948285, 0.269825, ..., 0.259327, -0.267804, 
    0.255273, 0.287592]


    pred_w1.rx2("predictions")
    Out[93]: 
    R object with classes: ('numeric',) mapped to:
    <FloatVector - Python:0x1c18f02808 / R:0x7fe214bf7c00>
    [-0.548409, -0.224735, 0.948285, 0.269825, ..., 0.259327, 
    -0.267804, 0.255273, 0.287592]

Теперь, когда я пытаюсь вычесть вот так:

    pred_w1.rx2("predictions") - pred_w0.rx2("predictions")`

Я получаю эту ошибку:

    File "<ipython-input-95-161c70b4f42f>", line 1, in <module>
pred_w1.rx2("predictions") - pred_w0.rx2("predictions")
    TypeError: unsupported operand type(s) for -: 'FloatVector' and 'FloatVector'

Я думаю, это должно быть довольно просто.Я просто не очень знаком с rpy2.

1 Ответ

0 голосов
/ 23 ноября 2018

Используйте делегатор ro (как в r o perator):

pred_w1.rx2("predictions").ro - pred_w0.rx2("predictions")

(подробнее в документации:https://rpy2.github.io/doc/v2.9.x/html/vector.html#operators)

...