Доступ к функциям с точкой в ​​их имени (например, "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()'

Другие вопросы по тегам