Доступ к функциям с точкой в их имени (например, "AS.Vector") с использованием RPY2

StackOverflow https://stackoverflow.com/questions/6032060

  •  14-11-2019
  •  | 
  •  

Вопрос

Я пытаюсь получить доступ к функции «AS.Vector», изнутри Python, используя RPY2.Допустим, ради простоты, что я хочу сделать что-то так просто, как это, используя RPY2 (R Code):

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

С "AS.Vector" содержит точку на своем имени, она не доступен непосредственно в виде члена RPY2.ROBJECTS.R

Согласно документации, RPY2 заменяет точки подчеркивания для указанных параметров функции, но, похоже, не работает для самого имена функции.Я пытался, например.«As_Vector», «Asvector» безрезультатно.

Любые идеи?

Это было полезно?

Решение

Get a reference to the function using the rpy2.robjects.r interface.

So, you could do something like:

as_vector = robjects.r("as.vector")
vect = as_vector(r_vect)

Другие советы

According to the documentation, rpy2 does not replace dots by underscores when using 'rpy2.robjects.r'.

You may want to consider the use of 'importr()'

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top