преобразование списка Python в числовой вектор R

Мне нужно подогнать мои данные под бета-версию и получить параметр alpha.

Я программировал на Python, но, похоже, в SciPy нет функции бета-подгонки. Либо я делаю все в Matlab, с которым я не слишком знаком, либо на Python с R и его функцией fitdistr. Поэтому я пошел за последним.

from rpy2.robjects.packages import importr

MASS = importr('MASS')

Затем я беру свой пустой вектор чисел с плавающей запятой в диапазоне [0,1) и передаю его fitdistr:

myVector = myVector.tolist()
MASS.fitdistr(myVector,"beta")

Жаль, что он хочет какой-то другой вектор. Разве rpy и rpy2 не должны были делать за меня все преобразования?

Error in function (x, densfun, start, ...)  : 
  'x' must be a non-empty numeric vector
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/rpy2/robjects/functions.py", line 82, in __call__
    return super(SignatureTranslatedFunction, self).__call__(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/rpy2/robjects/functions.py", line 34, in __call__
    res = super(Function, self).__call__(*new_args, **new_kwargs)
rpy2.rinterface.RRuntimeError: Error in function (x, densfun, start, ...)  : 
  'x' must be a non-empty numeric vector

Что мне нужно сделать здесь?


person Ricky Robinson    schedule 18.07.2012    source источник


Ответы (1)


Ответ был здесь: Преобразование объектов python для rpy2

import rpy2.robjects.numpy2ri
rpy2.robjects.numpy2ri.activate()

См. http://rpy.sourceforge.net/rpy2/doc/html/numpy.html:

person Ricky Robinson    schedule 18.07.2012