Accesso alle funzioni con un punto nel loro nome (ad esempio "As.Vector") usando RPY2

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

  •  14-11-2019
  •  | 
  •  

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?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top