Dicas de R: usando Python dentro do R

No Dicas de R de hoje, vamos mostrar como você pode rodar código em Python dentro do próprio R, facilitando a integração para pessoas que estão começando no R e já têm conhecimento de Python, ou que querem embutir em seu código o ferramental de Python, que muitas vezes pode agilizá-lo e resolver problemas. Essa integração pode ser feita através do pacote reticulate, como mostraremos a seguir. Vamos supor aqui que você já tem tanto o R como o Python instalados, e também já possui todos os pacotes de Python e de R que quer usar. Para carregar o Python no R, basta rodar:


library(reticulate)

O R irá carregar a sua versão padrão de Python. Se quiser utilizar outra (como ao começar um projeto), basta adicionar o código

use_python("/usr/local/bin/python")

Substituindo o argumento pelo caminho até a versão utilizada. Feito isso, vamos carregar o pandas como exemplo:

 
pd = import('pandas')

Após carregar a library, ela se torna um objeto no R como qualquer outro. Suas funções podem ser acessadas com o operador $, como se fossem colunas. Com isso, o código fica semelhante a um código de Python, usando pd$read_csv ao invés de pd.read_csv, por exemplo.

Para rodar códigos básicos de Python, existem as funções py_run_string(), que recebe strings de código como argumento, e py_run_file(), que recebe um script completo.

Como os objetos de uma linguagem não podem ser operados diretamente por outra, o reticulate transforma objetos de R em objetos de Python sempre que você chama uma função do Python sobre um objeto de seu environment base, e os transforma de volta após finalizar a função. Caso queira trabalhar com objetos de Python ao longo de várias funções, também é possível importar um módulo do Python e impedir que a transformação automática seja feita após suas funções:

 
pd = import('pandas', convert = FALSE)

Com isso, os objetos trabalhados serão de Python, e depois disso para transformá-los em objetos de R basta rodar py_to_r(nome_do_objeto).

O pacote apresentado aqui permite integração total entre o Python e o R, facilitando o uso de ferramentas estatísticas integradas no R para usuários de Python. Para mais informações sobre ele, recomendamos sua página principal, disponível aqui.


Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Transfer Learning: mostrando porque o Python está na ponta do desenvolvimento

A aprendizagem por transferência (transfer learning) é o reuso de um modelo pré-treinado em um novo problema. Portanto, sua utilização torna-se um avanço enorme para a previsão de diferentes tipos de variáveis, principalmente para aquelas ordenadas no tempo. Mostramos nesta postagem o uso do Transfer Learning com o Python para o caso de Séries Temporais.

Criando Tabelas com o Python: mostrando o poder da linguagem sobre o Excel

Nos dias atuais, pessoas que trabalham com dados estão constantemente confrontados com um dilema: criar uma tabela não tão genial no Excel ou manter em um formato ainda pior, como um dataframe, mas mantendo a flexibilidade de obtenção dos dados. Podemos resolver esse grande problema, unindo a flexibilidade e beleza ao usar a biblioteca great_tables do Python.

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.