Accédant à des fonctions avec un point dans leur nom (par exemple. "AS.Vector") à l'aide de RPY2

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

  •  14-11-2019
  •  | 
  •  

Question

J'essaie d'accéder à la fonction "AS.Vector" de Python, à l'aide de RPY2.Disons-nous, pour des raisons de simplicité, que je veux faire quelque chose d'aussi simple que celui-ci à l'aide de RPY2 (code R):

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

Etant donné que "AS.Vector" contient un point de numéro de son nom, il n'est pas directement disponible en tant que membre de RPY2.ROBJECTS.R

Selon la documentation, RPY2 remplace les points par des traits de soulignement pour les paramètres de fonction nommés, mais il ne semble pas fonctionner pour le nom de la fonction elle-même.J'ai essayé, par exemple."AS_Vector", "Asvevector" en vain.

Des idées?

Était-ce utile?

La solution

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)

Autres conseils

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()'

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top