Accesso alle funzioni con un punto nel loro nome (ad esempio "As.Vector") usando RPY2
Domanda
Sto cercando di accedere alla funzione R "As.Vector" da Python, usando RPY2.Diciamo, per il bene della semplicità, che voglio fare qualcosa di semplice come questo usando RPY2 (codice R):
x <- as.vector(c(1, 2, 3))
.
Dal momento che "As.Vector" contiene un punto nel suo nome, non è direttamente disponibile come membro di RPY2.Robjects.r
Secondo la documentazione, RPY2 sostituisce i punti da sottolineature per i parametri delle funzioni nominati, ma non sembra funzionare per il nome della funzione stesso.Ho provato ad esempio."As_Vector", "Asvector" inutili.
Qualche idea?
Soluzione
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)
Altri suggerimenti
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()'