RPy2 robjects.r.pie выдает любопытную ошибку: значения x должны быть положительными

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

from rpy2.robjects import r
import os.path

image = "test.png"
values = [0.5, 0.5]

print "using R"
r.png(image, width=100, height=100)
r.pie(values)
r.dev_off()

Теперь, чтобы сделать то же самое непосредственно в R, я знаю, что хочу этого:

values <- (0.5, 0.5)
pie(values)

Это прекрасно работает в интерпретаторе R. Я пытался использовать кортежи вместо списков в Python, но мне сказали ValueError: Nothing can be done for the type <type 'tuple'> at the moment.

Какой тип Python соответствует вектору R? Нужно ли мне использовать numpy?


person Cathy    schedule 15.09.2011    source источник


Ответы (1)


[примечание: ваш код R не выглядит правильным. Вы, вероятно, имеете в виду

values <- c(0.5, 0.5)

Использование функции c() имеет значение; Смотри ниже]

В настоящее время rpy2 не пытается угадать, как нужно представить в R список или кортеж Python. Это можно найти в документации rpy2.

Используйте либо функцию R c(), либо класс rpy2 FloatVector.

person lgautier    schedule 15.09.2011
comment
... Я слишком долго работал на Python. Я забыл о типах. о.О - person Cathy; 16.09.2011
comment
Даже в Python при работе с числовыми данными они никогда не бывают слишком далеко. Есть типы и с numpy. - person lgautier; 16.09.2011