Acessando funções com um ponto no nome (ex.“as.vector”) usando rpy2

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

  •  14-11-2019
  •  | 
  •  

Pergunta

Estou tentando acessar a função R "as.vector" de dentro do Python, usando rpy2.Digamos, para simplificar, que eu queira fazer algo tão simples quanto isto usando rpy2 (código R):

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

Como "as.vector" contém um ponto em seu nome, ele não está diretamente disponível como membro de rpy2.robjects.r

De acordo com a documentação, rpy2 substitui pontos por sublinhados para parâmetros de função nomeados, mas não parece funcionar para o nome da função em si.Eu tentei, por exemplo."as_vector", "asvector" sem sucesso.

Alguma ideia?

Foi útil?

Solução

Obtenha uma referência para a função usando a interface rpy2.robjects.r.

Então, você poderia fazer algo como:

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

Outras dicas

De acordo com a documentação, o rpy2 não substitui os pontos por sublinhados ao usar 'rpy2.robjects.r'.

Você pode considerar o uso de 'importr()'

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top