2011-05-17 3 views
2

J'essaie d'accéder à la fonction "as.vector" R à partir de Python, en utilisant rpy2. Disons que, par souci de simplicité, que je veux faire quelque chose d'aussi simple que cela en utilisant rpy2 (code R):Accéder aux fonctions avec un point dans leur nom (par exemple "as.vector") en utilisant rpy2

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

Depuis « as.vector » contient un point en 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 cela ne semble pas fonctionner pour le nom de la fonction elle-même. J'ai essayé par exemple. "as_vector", "asvector" en vain.

Des idées?

Répondre

3

Obtenir une référence à la fonction en utilisant l'interface rpy2.robjects.r.

Donc, vous pourriez faire quelque chose comme:

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

Selon la documentation, rpy2 ne remplace pas les points par des traits de soulignement lors de l'utilisation de 'rpy2.robjects.r'.

Vous voudrez peut-être envisager l'utilisation de « importr() »

Questions connexes