#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:
np <- import("numpy")
# Criando um array numpy
arr <- np$array(c(1, 2, 3, 4, 5))
print(arr)[1] 1 2 3 4 5
# Calculando a média com numpy
media <- np$mean(arr)
print(paste("Média:", media))[1] "Média: 3"
Exemplo 3: Criando Gráficos com Matplotlib
Vamos criar um gráfico simples usando matplotlib:
plt <- import("matplotlib.pyplot")
# Dados
x <- c(1, 2, 3, 4, 5)
y <- c(2, 3, 5, 7, 11)
# Criando o gráfico
plt$plot(x, y)[[1]]
<matplotlib.lines.Line2D object at 0x00000233B5C8D220>
plt$xlabel("Eixo X")Text(0.5, 0, 'Eixo X')
plt$ylabel("Eixo Y")Text(0, 0.5, 'Eixo Y')
plt$title("Gráfico Gerado no Python via R")Text(0.5, 1.0, 'Gráfico Gerado no Python via R')
plt$show()Exemplo 4: Unindo dois gráficos em uma mesma janela
# Gráfico 1
# Dados
x <- c(1, 2, 3, 4, 5)
y <- c(2, 3, 5, 7, 11)
# Criando o gráfico
plt$plot(x, y)[[1]]
<matplotlib.lines.Line2D object at 0x00000233B8569070>
plt$xlabel("Eixo X")Text(0.5, 0, 'Eixo X')
plt$ylabel("Eixo Y")Text(0, 0.5, 'Eixo Y')
plt$title("Gráfico Gerado no Python via R")Text(0.5, 1.0, 'Gráfico Gerado no Python via R')
plt$show()
# Limpa a figura atual antes do próximo gráfico
plt$clf() # Clear figure
# Gráfico 2
tempo_meses <- c("Fevereiro", "Abril", "Junho", "Agosto", "Outubro")
cresc_planta_cm <- c(3, 5, 7.4, 9.3, 12)
# Criando o gráfico
plt$bar(tempo_meses, cresc_planta_cm)<BarContainer object of 5 artists>
plt$xlabel("Tempo (meses)")Text(0.5, 0, 'Tempo (meses)')
plt$ylabel("Crescimento de uma planta (cm)")Text(0, 0.5, 'Crescimento de uma planta (cm)')
plt$show()
# Mostrando todas as figuras em uma mesma janela
plt$subplot(1, 2, 1) # 1 linha, duas colunas, grafico 1<AxesSubplot:>
plt$plot(x, y)[[1]]
<matplotlib.lines.Line2D object at 0x00000233B8874610>
plt$xlabel("Eixo X")Text(0.5, 0, 'Eixo X')
plt$ylabel("Eixo Y")Text(0, 0.5, 'Eixo Y')
plt$subplot(1, 2, 2) # 1 linha, duas colunas, grafico 2<AxesSubplot:>
plt$bar(tempo_meses, cresc_planta_cm)<BarContainer object of 5 artists>
plt$xlabel("Tempo (meses)")Text(0.5, 0, 'Tempo (meses)')
plt$ylabel("Crescimento de uma planta (cm)")Text(0, 0.5, 'Crescimento de uma planta (cm)')
plt$show() # Mostra os dois gráficos lado a ladoExemplo 5: Usando Pandas para Manipulação de Dados
pd <- import("pandas")
# Criando um DataFrame do Python a partir de um data.frame do R
df_r <- data.frame(
nome = c("Alice", "Bob", "Carlos"),
idade = c(25, 30, 35)
)
df_python <- pd$DataFrame(df_r)
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!