Доступ к функциям с точкой в их имени (например, "as.vector") с помощью rpy2
Я пытаюсь получить доступ к функции "as.vector" из Python, используя rpy2. Скажем для простоты, что я хочу сделать что-то столь же простое, используя rpy2 (код R):
x <- as.vector(c(1, 2, 3))
Поскольку "as.vector" содержит точку в своем имени, она не доступна напрямую как член rpy2.robjects.r
Согласно документации, rpy2 заменяет точки на подчеркивания для именованных параметров функции, но, похоже, не работает для самого имени функции. Я пробовал например. "as_vector", "asvector" безрезультатно.
Есть идеи?
2 ответа
Решение
Получить ссылку на функцию, используя интерфейс rpy2.robjects.r.
Итак, вы можете сделать что-то вроде:
as_vector = robjects.r("as.vector")
vect = as_vector(r_vect)
Согласно документации, rpy2 не заменяет точки подчеркиванием при использовании 'rpy2.robjects.r'.
Вы можете рассмотреть использование 'importr()'