Доступ к функциям с точкой в ​​их имени (например, "as.vector") с помощью rpy2 - PullRequest
3 голосов
/ 17 мая 2011

Я пытаюсь получить доступ к R-функции "as.vector" из Python, используя rpy2. Допустим, ради простоты, что я хочу сделать что-то столь же простое, используя rpy2 (код R):

x <- as.vector(c(1, 2, 3))

Поскольку «as.vector» содержит точку в своем имени, она не доступна напрямую как член rpy2.robjects.r

Согласно документации, rpy2 заменяет точки символами подчеркивания для параметров именованных функций, но, похоже, не работает для самого имени функции. Я пробовал например. "as_vector", "asvector" безрезультатно.

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 29 октября 2011

Получить ссылку на функцию с помощью интерфейса rpy2.robjects.r.

Итак, вы можете сделать что-то вроде:

as_vector = robjects.r("as.vector")
vect = as_vector(r_vect)
3 голосов
/ 11 июня 2011

Согласно документации, rpy2 не заменяет точки подчеркиванием при использовании 'rpy2.robjects.r'.

Вы можете рассмотреть использование 'importr ()'

...