Доступ к функциям с точкой в их имени (например, "AS.Vector") с использованием RPY2
Вопрос
Я пытаюсь получить доступ к функции «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()'