rpy2 зоопарк неиспользуемый аргумент

Недавно я пытался использовать rpy2 и импортировать библиотеку зоопарка в python. однако, когда я запускаю следующие наборы кода, я получаю следующую ошибку

from rpy2.robjects.packages import importr
r_zoo = importr("zoo")
r_zoo.rollapply(ddf,FUN = r_func.fun1, width = 10, align = "left",by_column = True)

res = super(Function, self).call(*new_args, **new_kwargs) rpy2.rinterface.RRuntimeError: Ошибка в FUN(data[posns], ...): неиспользуемый аргумент (by_column = ИСТИННЫЙ)

Эквивалентный код r

rollapply(ddf,FUN = r_func.fun1, width = 10, align = "left",by.column = True)

Я понимаю, что когда мы используем importr из rpy2.robjects.packages, он автоматически преобразует '.' в Rlang в '_' в python.


person ArunK    schedule 04.04.2017    source источник


Ответы (1)


Два способа обойти эту проблему:

  • Используйте kwargs словарь

    r_zoo.rollapply(ddf,FUN = r_func.fun1, width = 10, align = "left",**{"by.column":True})
    
  • Явно укажите, что by_column должно быть переведено в by.column

    from rpy2.robjects.functions import SignatureTranslatedFunction`
    r_zoo.rollapply = SignatureTranslatedFunction(r_zoo.rollapply, init_prm_translate = {'by_column': 'by.column'})
    

Источник

person Giannis Spiliopoulos    schedule 06.04.2017