#install.packages("reticulate")
library(reticulate)
Como Utilizar o Python no R?
Introdução
O R apresenta diversas vantagens e é eficiente para análises estatísticas e visualização de dados. Em contrapartida, o Python é poderoso para programação geral e machine learning. Mas sabia que é possível usar os dois juntos no mesmo projeto? Nesta postagem, vamos explorar como integrar Python no R usando o pacote reticulate.
Instalando e Configurando o reticulate
O primeiro passo é instalar o pacote reticulate no R usando o seguinte código na IDE do RStudio e em um arquivo da linguagem R:
Exemplo 1: Executando Código Python no R
Usando py_run_string()
:
# Executando um script Python simples
py_run_string("
x = 10
y = 20
z = x + y
print(z)
")
30
Exemplo 2: Usando Pacotes Python no R
Você pode importar bibliotecas Python como se fossem pacotes do R, mas ao invés de usar a função library
do R, você usa a função import
. Por exemplo, vamos usar a biblioteca numpy
:
<- import("numpy")
np
# Criando um array numpy
<- np$array(c(1, 2, 3, 4, 5))
arr print(arr)
[1] 1 2 3 4 5
# Calculando a média com numpy
<- np$mean(arr)
media print(paste("Média:", media))
[1] "Média: 3"
Exemplo 3: Criando Gráficos com Matplotlib
Vamos criar um gráfico simples usando matplotlib
:
<- import("matplotlib.pyplot")
plt
# Dados
<- c(1, 2, 3, 4, 5)
x <- c(2, 3, 5, 7, 11)
y
# Criando o gráfico
$plot(x, y) plt
[[1]]
<matplotlib.lines.Line2D object at 0x00000233B5C8D220>
$xlabel("Eixo X") plt
Text(0.5, 0, 'Eixo X')
$ylabel("Eixo Y") plt
Text(0, 0.5, 'Eixo Y')
$title("Gráfico Gerado no Python via R") plt
Text(0.5, 1.0, 'Gráfico Gerado no Python via R')
$show() plt
Exemplo 4: Unindo dois gráficos em uma mesma janela
# Gráfico 1
# Dados
<- c(1, 2, 3, 4, 5)
x <- c(2, 3, 5, 7, 11)
y
# Criando o gráfico
$plot(x, y) plt
[[1]]
<matplotlib.lines.Line2D object at 0x00000233B8569070>
$xlabel("Eixo X") plt
Text(0.5, 0, 'Eixo X')
$ylabel("Eixo Y") plt
Text(0, 0.5, 'Eixo Y')
$title("Gráfico Gerado no Python via R") plt
Text(0.5, 1.0, 'Gráfico Gerado no Python via R')
$show()
plt
# Limpa a figura atual antes do próximo gráfico
$clf() # Clear figure
plt
# Gráfico 2
<- c("Fevereiro", "Abril", "Junho", "Agosto", "Outubro")
tempo_meses <- c(3, 5, 7.4, 9.3, 12)
cresc_planta_cm
# Criando o gráfico
$bar(tempo_meses, cresc_planta_cm) plt
<BarContainer object of 5 artists>
$xlabel("Tempo (meses)") plt
Text(0.5, 0, 'Tempo (meses)')
$ylabel("Crescimento de uma planta (cm)") plt
Text(0, 0.5, 'Crescimento de uma planta (cm)')
$show()
plt
# Mostrando todas as figuras em uma mesma janela
$subplot(1, 2, 1) # 1 linha, duas colunas, grafico 1 plt
<AxesSubplot:>
$plot(x, y) plt
[[1]]
<matplotlib.lines.Line2D object at 0x00000233B8874610>
$xlabel("Eixo X") plt
Text(0.5, 0, 'Eixo X')
$ylabel("Eixo Y") plt
Text(0, 0.5, 'Eixo Y')
$subplot(1, 2, 2) # 1 linha, duas colunas, grafico 2 plt
<AxesSubplot:>
$bar(tempo_meses, cresc_planta_cm) plt
<BarContainer object of 5 artists>
$xlabel("Tempo (meses)") plt
Text(0.5, 0, 'Tempo (meses)')
$ylabel("Crescimento de uma planta (cm)") plt
Text(0, 0.5, 'Crescimento de uma planta (cm)')
$show() # Mostra os dois gráficos lado a lado plt
Exemplo 5: Usando Pandas para Manipulação de Dados
<- import("pandas")
pd
# Criando um DataFrame do Python a partir de um data.frame do R
<- data.frame(
df_r nome = c("Alice", "Bob", "Carlos"),
idade = c(25, 30, 35)
)
<- pd$DataFrame(df_r)
df_python print(df_python)
nome idade
1 Alice 25
2 Bob 30
3 Carlos 35
Conclusão
Integrar Python no R abre um mundo de possibilidades, permitindo que você use bibliotecas como numpy
, pandas
, matplotlib
, scikit-learn
e muitas outras diretamente do R. Experimente esses exemplos e explore ainda mais!