Eu vou iniciar esse post dizendo...
Uma loucura, né?
Nós vamos programar na IDE RStudio utilizando do Quarto (nova geração do R Markdown) nas linguagens R e Python. Os dois bem juntinhos (feito bem-casado, sabe?) e cada um performando bem no que tem de melhor a nos oferecer.
E quem é esse tal de Quarto? Joga onde? Come o quê?
Quarto é uma versão multilíngue de próxima geração do R Markdown do RStudio, com novos recursos e capacidades. Assim como o R Markdown, o Quarto usa o Knitr para executar o código R e, portanto, é capaz de renderizar a maioria dos arquivos Rmd existentes sem modificação. Uma dessas capacidades do Quarto é a possibilidade de codificação nas linguagens R, Python e Julia e, se for de interesse, você pode codificar nas três linguagens no mesmo arquivo .qmd.
O que isso significa?
Significa que não precisamos de três IDE's para codificar nessas linguagens. O VSCode, por exemplo, é uma ótima IDE e nos traz muitas possibilidades de codificação, mas codificar em três linguagens no mesmo script não é uma possibilidade. Então nem preciso dizer que o Quarto tem um potencial E N O R ME na área de dados e é claro que você não vai ficar de fora dessa, né?
Vamos começar?
A partir daqui preciso dizer que o meu atual Sistema Operacional (SO) é o Linux e que utilizo da distribuição Pop! _OS. Troquei de SO em 2023 com a intenção de vivenciar o Linux, visto que algumas vagas pedem uma familiarização com esse SO e, desde então, nunca mais larguei. É mais prático e, claro, a minha máquina não trava tanto quanto travava com o Windows e também consigo usufruir um pouco mais da capacidade e potência do meu VAIOzinho.
Bem, se você já tem o RStudio instalado na sua máquina, verifique a sua versão e veja se o Quarto está disponível para ela, caso contrário, vá em help > check for updates e atualize para a mais nova versão.
IMPORTANTE: Se você utiliza o RStudio na nuvem fora do Posit, tipo uma AWS da vida, normalmente o Quarto e o Pandoc (utilizamos para renderizar em PDF) não são instalados em conjunto com a IDE e você deve instalar manualmente.
Iniciando em File > New file > Quarto document e assim teremos duas opções de Engine. A opção Knitr e a Jupyter. Você pode ver na imagem abaixo que há também a possibilidade do produto deste documento ser em HTML, PDF ou Word e também para além de um documento, você pode fazer apresentações interativas ou não.

É importante ressaltar que o pacote reticulate deve ser instalado e carregado para que os códigos funcione e, desde já, lhe digo que utilizo o sistema operacional Linux em sua versão Ubuntu, blz? Outra questão é que os sistemas GNU/Linux mais recentes já possuem uma versão do python instalada junto com o sistema operacional. Podemos checar com o seguinte comando em seu terminal:
which python3
O seu resultado pode ser esse (ou de outra versão) ou não:
Python 3.10.12
Não uso Linux, o meu negócio é com o Windows.
Vou te indicar a Python Brasil para te ajudar. É bem tranquilo e fácil.
Fê, mas eu não tenho o reticulate instalado, faço o quê agora?
Vou te ajudar com isso. Copia e cola na linha de comando do R e você terá esse pacote tão importante instalado e carregado para uso.
install.packages(reticulate)
library(reticulate)
Mas, isso não é tudo, tá? Para o bom funcionamento de TUDO que estamos utilizando, vamos configurar o python no ambiente virtual. Se você não tiver o python instalado, vem que já vamos fazer isso também em Linux.
Aqui nós vamos utilizar MUUUUUITO o terminal. E o terminal que você vai utilizar fica a sua escolha, pode ser o da IDE Rstudio ou o da máquina. Bem, o que acontece, em alguns casos, é a impossibilidade de instalar os pacotes pandas e numpy (e outros) quando estamos utilizando tanta coisa junto: Quarto, pacote reticulate, python e IDE RStudio.
Bora lá?
Em seu terminal, digite:
python3 -m pip install jupyter
Fê, que terminal é esse?
Você pode utilizar a primeira e segunda opção das imagens abaixo:
1°: Terminal do RStudio:

2° Terminal do Linux/Máquina:

Vamos checar se está tudo certo com a sua instalação?
Digita aí:
quarto check jupyter
A sua saída deveria ser essa aí abaixo, caso não tenha sido, comenta nesse post que a gente faz dar certo juntes.
Quarto 1.5.26
[✓] Checking Python 3 installation....OK
Version: 3.10.12
Path: /usr/bin/python3
Jupyter: 5.7.1
Kernels: python3
[✓] Checking Jupyter engine render....OK
Voltando ao RStudio, você precisa verificar o diretório em que o seu python está localizado. Para isso, na linha de código do R,
reticulate::py_config()
O resultado do meu está a seguir:
python: /home/fernanda/.virtualenvs/r-reticulate/bin/python
libpython: /usr/lib/python3.10/config-3.10-x86_64-linux-gnu/libpython3.10.so
pythonhome: /home/fernanda/.virtualenvs/r-reticulate:/home/fernanda/.virtualenvs/r-reticulate
version: 3.10.12 (main, Nov 6 2024, 20:22:13) [GCC 11.4.0]
numpy: [NOT FOUND]
Veja que ele está em home/nome-da-sua-maquina/.virtualenvs/r-reticulate/bin/python. Na minha máquina é home/fernanda/.virtualenvs/r-reticulate/bin/python.
A partir desse momento nós vamos iniciar o processo de ativação do nosso ambiente virtual. Volte ao terminal e verifique se realmente o diretório que acabamos de encontra é existente com source /home/fernanda/.virtualenvs/r-reticulate.
Se sim, bora ativar ele?
Ainda no terminal, utilize o comando,
sudo python3 -m venv /home/fernanda/.virtualenvs/r-reticulate
Veja que desta vez estamos utilizando o comando sudo e deverá inserir a senha da sua máquina para que o comando seja executado.
Após a execução do código acima pode ocorrer o seguinte erro:
The virtual environment was not created successfully because ensurepip is notavailable. On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.
apt install python3.10-venv
You may need to use sudo with that command. After installing the python3-venv package, recreate your virtual environment.
Failing command: /home/fernanda/.virtualenvs/r-reticulate/bin/python3
Apareceu pra você?
Se sim, volte ao terminal e execute sudo apt install python3.10-venv. Vai parecer a mensagem abaixo e mais um monte de instalações. Não se preocupe! É assim mesmo.
Lendo listas de pacotes... Pronto
Construindo árvore de dependências... Pronto
Lendo informação de estado... Pronto
Os pacotes adicionais seguintes serão instalados:
python3-pip-whl python3-setuptools-whl
Os NOVOS pacotes a seguir serão instalados:
python3-pip-whl python3-setuptools-whl python3.10-venv
Após a instalação acima, execute no terminal:
sudo python3 -m venv /home/fernanda/.virtualenvs/r-reticulate
Vai lhe pedir a senha e iniciar a instalação.
Instalação finalizada?
Vamos verificar se ele está instalado corretamento executando:
ls /home/fernanda/.virtualenvs/r-reticulate/bin/
A saída deve (ou pelo menos deveria) ser:
activate activate.fish pip pip3.10 python3
activate.csh Activate.ps1 pip3 python python3.10
Se deu tudo certo, esse é o momento que devemos ativá-lo no sistema. Execute no terminal:
source /home/nome-da-sua-maquina/.virtualenvs/r-reticulate/bin/activate
Você terá como produto algo similar/igual a:
(r-reticulate) nome-da-sua-maquina@pop-os:~$
Se isso apareceu é sinal que funfou D-E-M-A-I-S. Agora é só executar os comandos no seu terminal:
(r-reticulate) nome-da-sua-maquina@pop-os:~$ pip install --upgrade pip
(r-reticulate) nome-da-sua-maquina@pop-os:~$ pip install numpy pandas
Você viu que é no ambiente virtual, né?
Sempre preste atenção nisso aqui (r-reticulate) nome-da-sua-maquina@pop-os:~$ quando for executar teus comandos. Se foi, foi e bola pra frente.
Feito isso, vamos verificar se tudo está bem instalado?
Execute (r-reticulate) nome-da-sua-maquina@pop-os:~$ pip list e o produto, na minha máquina, no seu deve ser igual ou com mais pacote, é:
Package Version
--------------- -----------
numpy 2.2.1
pandas 2.2.3
pip 24.3.1
python-dateutil 2.9.0.post0
pytz 2024.2
setuptools 59.6.0
six 1.17.0
tzdata 2024.2
O nome disso é S-U-C-E-S-S-O!
Tudo instaladinho, vamos voltar para o RStudio e configurar o reticulate para usar o ambiente virtual recém-criado. Execute o comando abaixo no corpo do seu código no RStudio:
reticulate::use_virtualenv("/home/fernanda/.virtualenvs/r-reticulate", required = TRUE)
Obs.: A partir de agora não vou dizer para você que em seus códigos você deve trocar o "fernanda" para o nome da sua máquina, visto que o nome da minha máquina é fernanda e, provavelmente, não vai funcionar com você.
Vamos confirmar se está no lugarzinho correto?
Execute reticulate::py_config() no RStudio. A saída será:
python: /home/fernanda/.virtualenvs/r-reticulate/bin/python
libpython: /usr/lib/python3.10/config-3.10-x86_64-linux-gnu/libpython3.10.so
pythonhome: /home/fernanda/.virtualenvs/r-reticulate:/home/fernanda/.virtualenvs/r-reticulate
version: 3.10.12 (main, Nov 6 2024, 20:22:13) [GCC 11.4.0]
numpy: [NOT FOUND]
Execute reticulate::repl_python() e corre para o abraço.
O RStudio permite que você entre em um modo interativo de Python diretamente dentro da sua sessão R. Essencialmente, ela cria um ambiente de trabalho Python "dentro" do RStudio, onde você pode executar comandos Python como se estivesse em um terminal Python.
E se você quer aprender mais, lá no meu GitHub iniciei um projeto chamado Python para Rzeires trazendo algumas comparações entre as linguagens e, claro, utilizando o Quarto.
Espero que tenha gostado. Volte sempre!
Fernanda Kelly | Estatística
Comments