Apresentação do R e Rstudio

R

  • R é uma linguagem e um ambiente de desenvolvimento integrado, livre e gratuito;

  • O software R disponibiliza recursos para vários tipos de análises:

    • Estatística descritiva: medidas de posição, dispersão, tabelas e gráficos;

    • Modelos lineares, não lineares, generalizados: estimação dos parâmetros, resíduos, métodos de diagnóstico;

    • Análise multivariada: Análise de componentes principais, clusters, fatorial;

    • Aprendizado de Máquina

    • DeepLearning,

RStudio

  • O RStudio é uma interface de desenvolvimento integrada (IDE) para a linguagem de programação R;

  • Diferentemente do R em que todas as versões são gratuitas, o RStudio disponibiliza versões gratuitas e versões pagas.

  • O vs code é outra IDE que permite utilizar códigos R.

Instalação do R e RStudio

  • A seguir é apresentado os passos para instalação do R para o sistema operacional Windows. Para outros sistemas operacionais, clique aqui

  • Passo a passo de instalação do R para Windows:

    1. Acesse o site do CRAN (Comprehensive R Archive Network) para Windows aqui

    2. Baixe a versão mais recente do R para Windows.

    3. Execute o instalador e siga as instruções para completar a instalação.

  • Passo a passo de instalação do RStudio

  • O RStudio é uma IDE (Integrated Development Environment) para a linguagem R que oferece uma interface e ferramentas adicionais:

    1. Acesse o site de download do RStudio aqui

    2. Baixe a versão do RStudio Desktop correspondente ao seu sistema operacional.

    3. Execute o instalador e siga as instruções para completar a instalação.

Apresentação do RStudio

Telas

  • Ele oferece várias telas e painéis para facilitar o desenvolvimento, análise de dados e criação de visualizações.

Painés do Rstudio
  • Segue uma breve explicação das telas principais do RStudio.
  1. Console:

    • A tela principal onde você digita comandos R e recebe a saída imediata.
  2. Script Editor:

    • Onde você escreve e edita seus scripts em R. Os scripts são arquivos contendo código R que podem ser executados no console.
  3. Environment/Painel de Ambiente:

    • Exibe informações sobre objetos (variáveis, datasets) em sua sessão R atual.
  4. History/Histórico:

    • Mantém um histórico de comandos R previamente executados.
  5. Files/Painel de Arquivos:

    • Mostra os arquivos e diretórios do seu projeto. Facilita a navegação e a organização.
  6. Plots/Painel de Gráficos:

    • Exibe visualizações geradas a partir do R.
  7. Packages/Pacotes:

    • Gerencia pacotes R instalados e fornece ferramentas para instalação e atualização.
  8. Help/Ajuda:

    • Fornece acesso à documentação e ajuda sobre funções e pacotes R.
  9. Viewer/Visualizador:

    • Exibe visualizações mais complexas, como páginas web, no próprio IDE.
  10. Git:

    • Facilita a integração com sistemas de controle de versão Git, permitindo o rastreamento de alterações em projetos.
  11. Connections/Conexões:

    • Permite conectar-se a fontes de dados externas
  12. Terminal:

    • Um terminal embutido para execução de comandos do sistema operacional.

Cheatsheets

  • As “cheatsheets” (folhas de dicas) no RStudio são recursos visuais e resumidos que fornecem informações rápidas e úteis sobre tópicos específicos relacionados à linguagem de programação R, ao ambiente RStudio e a pacotes específicos do R.

  • Para acessar as cheatsheets, você pode ir diretamente à página de cheatsheets do RStudio

  • Também pode ser acessada cliclando em Help -> Cheat Sheets

Caminhos e Diretório de trabalho

Caminhos

  • Entende-se por caminho o endereço do arquivo no computador

  • Existem duas formas de passarmos o caminho de arquivo: caminho absoluto ou caminho relativo

Caminho Absoluto

  • O caminho absoluto especifica o local exato de um arquivo desde a raiz do sistema de arquivo.

  • O diretório raiz é o que está no topo da hierarquia do sistema, isso significa que outros diretórios estão contidos nele.

Caminho Absoluto
  • getwd() é uma forma abreviada de dizer get working directory (me diga qual a pasta de trabalho atual).
getwd()
[1] "C:/Users/Leonardo_Nascimento/Documents/GitHub/webpage/Cursos/Introducao_R/Cadernos"
  • Observe que o local de referência é a pasta “Cadernos”, pois este é o caminho absoluto para a pasta onde essa aula foi produzida. Vamos voltar para a pasta “Introducao_R” utilizando o conceito de caminho relativo

Caminho Relativo

  • O caminho relativo é especificado em relação ao diretório de trabalho atual ou a outro local de referência. Assim, se você quiser acessar alguma base de dados na pasta “dados” partindo da pasta”Cadernos”, o caminho seria: ../dados/base_de_dados.formato.

  • Nesse caso, ../ é o comando para voltar uma pasta dentro do caminho e ./ representa a pasta/diretório atual.

  • Caso você queira trocar o local referência da pasta “caderno” para a pasta”Introducao_R “, use o seguinte código:

setwd("..") # trocando local referência ou diretório de trabalho
getwd()
[1] "C:/Users/Leonardo_Nascimento/Documents/GitHub/webpage/Cursos/Introducao_R"

Diretório de trabalho

  • Basicamente, diretório de trabalho refere-se a uma pasta específica no sistema de arquivos do computador em que um programa está atualmente operando ou onde ele procura por arquivos para ler e salvar por padrão.

  • No contexto do R, o diretório de trabalho é particularmente importante porque é o local onde o R procura por arquivos . Isso significa que, se você carregar ou salvar um arquivo sem especificar a pasta, o R assumirá que o arquivo está no diretório de trabalho.

  • É no diretório de trabalho que o R procura os arquivos que você pede para carregar e onde ele coloca todos os arquivos que você pede para salvar. De forma geral, é o local que está localizada sua análise.

  • RStudio mostra seu diretório de trabalho atual na parte superior do console:

Diretório
  • Você também pode visualizar o diretório de trabalho atual usando a função getwd().

  • Você também pode definir o diretório de trabalho dentro do R utilizando a

    função setwd("colocar_o_caminho").

Observações

  • Caminhos e diretórios são um pouco complicados porque existem dois estilos básicos de caminhos: Mac/Linux e Windows. Existem três maneiras principais pelas quais eles diferem

    1. Como você separa os componentes do caminho. Mac e Linux usam barras (por exemplo  plots/diamonds.pdf) e o Windows usa barras invertidas (por exemplo  plots\diamonds.pdf). R pode funcionar com qualquer tipo. Porém, barras invertidas significam algo especial para R, e para obter uma única barra invertida no caminho, você precisa digitar duas barras invertidas! Recomendo sempre usar o estilo Linux/Mac com barras.

    2. Ao criar scripts ou projetos em R, é uma boa prática usar caminhos relativos, pois isso torna o código mais portátil e facilita a colaboração. Além disso, evita problemas quando você compartilha seu código com outros ou move seu projeto para um novo sistema operacional.

    3. A última pequena diferença é o local para onde ~aponta. ~é um atalho conveniente para o seu diretório inicial. No Windows, ele aponta para o diretório de documentos. undefined

Tabela 1: Localização de pastas no Linux

Nome fantasia Localização real
Pasta pessoal /home/estudante ou ~/
Área de trabalho /home/estudante/Desktop
Pendrive /media/RotuloDoPendrive

Tabela 2: Localização de pastas em versão recente do Windows

Nome fantasia Localização real
Pasta pessoal C:/Users/estudante/Meus documentos ou ~/
Área de trabalho C:/Users/estudante/Desktop ou ~/../Desktop
Pendrive F:/ (ou outra letra)
  • Nesses casos, criar projetos no R é uma prática recomendada e traz vários benefícios para a organização, colaboração e reprodutibilidade do trabalho

  • Crie um diretório onde você possa colocar todos os programas/projetos em R

Projetos

  • Projetos no RStudio são uma maneira organizada e estruturada de trabalhar em análises de dados e programação em R ou em qualquer linguagem de programação suportada pelo RStudio.

  • Aqui estão algumas razões pelas quais criar projetos no RStudio é importante:

    1. Organização Estruturada:

      • Projetos fornecem uma estrutura organizada para seus arquivos, dados e scripts. Isso facilita a navegação e a localização de recursos específicos relacionados ao projeto.
    2. Reprodutibilidade:

      • Ao criar um projeto, você organiza seu trabalho de forma que seja mais fácil reproduzir suas análises. Outros usuários podem reproduzir facilmente os resultados, garantindo a reprodutibilidade do trabalho.
    3. Configuração do Diretório de Trabalho:

      • O projeto define automaticamente o diretório de trabalho, eliminando a necessidade de definir caminhos relativos em seus scripts. Isso reduz erros e torna o código mais portátil.
    4. Controle de Versão:

      • Projetos podem ser vinculados a sistemas de controle de versão, como o Git. Isso facilita o controle de alterações em seus scripts e colaboração em equipes.
    5. Ambiente Isolado:

      • Projetos têm seu próprio ambiente no RStudio. Isso significa que as bibliotecas (pacotes) e as configurações específicas do projeto não interferem em outros projetos ou em seu ambiente global.
  • A seguir são apresentados alguns passos para criar um projeto no RStudio.

  • Passo 1: Abra o RStudio

    • Inicie o RStudio em seu computador.
  • Passo 2: Crie um Novo Projeto

    • No canto superior direito do RStudio, clique em “File” (Arquivo) e selecione “New Project” (Novo Projeto).

  • Passo 3: Escolha o Tipo de Projeto

    1. New Directory (Novo Diretório): Cria um novo diretório para o projeto.

    2. Existing Directory (Diretório Existente): Usa um diretório existente como projeto.

  • Passo 4: Escolha um Modelo

    • Você pode escolher um modelo específico se estiver disponível. Caso contrário, escolha “New Project” (Novo Projeto).

  • Passo 5: Nomeie e Localize o Projeto

    • Dê um nome ao seu projeto e escolha o local onde o diretório do projeto será armazenado.

  • Passo 6: Clique em “Create Project”

    • Clique em “Create Project” (Criar Projeto) para finalizar a criação do projeto.
  • Após criar o projeto, você verá a estrutura do diretório do projeto no painel inferior direito do RStudio.

  • Organize seus Arquivos. Dentro do diretório do projeto, você pode criar subdiretórios (por exemplo, “data”, “scripts”, “reports”) para organizar seus arquivos.

  • Tudo o que você precisa está em um só lugar e bem separado de todos os outros projetos nos quais você está trabalhando.

Configuração

  • Basicamente, podemos definir uma pesquisa reproduzível como uma pesquisa que documenta todas as etapas entre os dados brutos e os resultados de uma forma que possa ser verificada.

  • Isso envolve escrever scripts que realizem algumas análises do início ao fim de forma completa e transparente, de maneira que produza o mesmo resultado para pessoas diferentes usando o mesmo software em computadores diferentes.

  • Nesse caso, é recomendado realizar dois ajustes na configuração do RStudio para maximizar a reprodutibilidade. Será desabilitado .RData e .Rhistory.

  • O primeiro armazena todos os objetos gerados durante uma sessão R, enquanto o segundo mantém uma lista dos comandos mais recentemente executados.

  • Ao reabrir o RStudio, o conteúdo desses arquivos é carregado no ambiente de trabalho atual, proporcionando a sensação de continuidade.

  • Selecione Tools > Global Options… na aba de ferramentas do RStudio e então ajustar as configurações.

  • A página de configurações gerais deve apresentar semelhanças com a imagem a seguir:

PositCloud

  • Plataforma online que utiliza o RStudio para auxiliar na análise de dados ou outras finalidades.

  • Para acessá-la, clique aqui.

  • Para criar um projeto:

Git e GitHub

  • Git é um sistema de controle de versão que permite rastrear as alterações no código durante o desenvolvimento de uma análise/software.

  • Git é usado para gerenciar projetos de análise/software, controlar as versões do código e facilitar o trabalho colaborativo entre desenvolvedores.

  • Cada cópia do repositório Git contém todo o histórico de revisões.

  • Permite a criação de ramificações independentes para o desenvolvimento de novos recursos e a fusão posterior dessas ramificações.

  • O Git também pode se conectar a um serviço de hospedagem e armazenar todas as versões de um código fora do seu computador; o mais utilizado atualmente se chama GitHub. Uma alternativa é o GitLab.

  • GitHub oferece funcionalidades adicionais, como controle de acesso, rastreamento de problemas, integração contínua e colaboração eficiente.

  • Desenvolvedores usam o GitHub para compartilhar código, colaborar em projetos e contribuir para repositórios de código aberto.

Ideia geral do funcionamento do Git
  • Na prática, a utilização do Git e do GitHub tem dois principais benefícios:

    • Livrar-se da necessidade de controlar versões com arquivos como analise.R, analise_v2.R, analise_v3.R, analise_final.R, analise_final_final.R, analise_final_revisada.R

    • Eliminar a preocupação de perder seus projetos devido a falhas no seu computador.

Pacotes

  • É muito provável que alguém já tenha resolvido o problema em que você está trabalhando, e você pode se beneficiar do trabalho deles baixando o pacote correspondente.

  • Um pacote reúne código, dados e documentação, proporcionando um método fácil de compartilhamento com outros usuários.

Instalação

  • O R é construído como um conjunto de bibliotecas/pacotes voltadas para diferentes aplicações;

  • Todos esses pacotes (com a respectiva documentação) podem ser facilmente baixados e instalados a partir do repositório CRAN.

  • No entanto, muitas vezes, durante a programação, é necessário um pacote adicional para o nosso projeto. O RStudio permite baixar e instalá-lo através da função install.packages("nome_do_pacote");

  • Por exemplo, para instalar o pacote ggplot2 (Wickham 2016): install.packages("ggplot2"). Dessa forma, o pacote ggplot2 e os dependentes são automaticamente instalados;

  • Para atualizar os pacotes: Tools > Check for Package Updates…

  • Para instalar pacotes do GitHub [@]: devtools::install_github("username/packagename") . Esse comando irá instalar o pacote que está na página github.com/username/packagename

Carregar

  • Após instalado, o pacote é carregado na atual sessão através do comando library(ggplot2) ;

  • Outra forma é utilizar: ggplot2::nome_do_comando. Nesse caso, não precisa carregar o pacote na sessão

Solicitando ajuda

# Ver todos os pacotes instalados
library()

# Ver pacotes atualmente carregados
search()

# Fornece detalhes sobre o conteúdo de um pacote
help(package = "nome_do_pacote")

# Fornecer detalhes sobre a base de dados "diamonds" que está dentro do pacote "ggplot2"

help(diamonds, package="ggplot2")

# Fornecer detalhes sobre o uso da função "mean" que está dentro do pacote base

help(mean)
?mean

# Listar as vinhetas/tutorias disponíveis para um pacote específico
vignette(package = "nome_do_pacote")

# Visualizar uma vinheta específica
vignette("nome_da_vinheta")

# Visualizar todas as vinhetas disponíveis no seu computador
vignette()

Fluxo de Trabalho

  • Aqui será apresentado um fluxo de trabalho básico que pode incrementado no decorrer do curso.
  1. Organize o Projeto:

    • Mantenha um diretório de projeto bem estruturado.

    • Use subdiretórios para dados brutos, scripts, figuras e relatórios.

  2. Documente Seu Código:

    • Adicione comentários claros e informativos ao seu código.

    • Use R Markdown ou Notebooks R para incorporar narrativa com o código.

  3. Versione Seu Código:

    • Use um sistema de controle de versão como o Git para controlar as mudanças no seu código.

    • Inclua um arquivo .gitignore para evitar a inclusão de arquivos desnecessários no repositório.

    • Em SemVer (Semantic Versioning) apresenta o padrão de versionamentos. Irei apresentar na seção de Pacotes.

  4. Compartilhe Seu Código e Dados:

    • Disponibilize seu código e dados em um repositório público (por exemplo, GitHub) ou em um formato acessível.

Escrevendo o código

  • Ao escrever código, é muito importante ser claro e seguir uma estrutura racional. Normalmente, nosso código será depurado, lido, usado ou modificado por outras pessoas, portanto, deve ser muito claro

  • Uma das práticas recomendadas que mais ajudam na clareza são os comentários no código. Eles são frases em linguagem natural precedidas por um símbolo de hash # ou #'.

  • Os comentários não são lidos durante a execução do código e servem para expressar ideias adicionais que ajudam outras pessoas a entenderem o que programamos.

  • É possível pegar qualquer script R e compilá-lo em um relatório que inclua comentários, código-fonte e saída do script.

  • Os relatórios podem ser gerados em diversos formatos, como HTML, PDF, MS Word e Markdown.

  • Para compilar um relatório a partir de um script R, basta passá-lo para a função render(). Por exemplo: rmarkdown::render("meu_script.R",pdf_document) ou usar o comando Compile Report command (Ctrl+Shift+K) após a instalação do pacote rmarkdown .

  • Para realizar os comentários dentro do script R algumas dicas básicas são:

#' ---
#' title: "Aula 1"
#' author: "Leonardo"
#' date: "17/03/2025"

#' ---

#' Use #' para escrever um texto 
#' 
#' Use # para escrever um texto dentro do código
#' 
#' Pode-se criar seções e subseções no código. Selecione Ctrl+Shift+o para identificá-las
  
# Seção --------------------------------------- (Ctrl+Shift+r para criar a seção)

#' Realizando a soma de dois números 
2+2 # o símbolo "+" representa a soma (comentando no código)

## Subseção --------

# código

### Subseção da Subseção ------------
# mais código

#' Use # para comentar uma parte do código 
#' 
#' Selecione várias linhas de código e use Ctrl+Shift+c para comentar as linhas
#' 
#' Use #+ para adicionar configurações 
#+ fig.width=5, fig.height=5

x = 1:10 ; y = 2*x
plot(x,y)

#' Escreva expressões matemáticas: $\bar{X}=\frac{\sum_{i=1}^{n}x_i}{n}$
#' 
#' A média de x é `r mean(x)`
  • O código acima gera o seguinte documento html:

  • Um dos melhores ambientes para desenvolvimento de código é um arquivo RMarkdown. Recentemente foi criado o Quarto com o mesmo objetivo. Para mais detalhes sobre documentação dinâmica, pesquisar sobre os pacotes rmarkdown e o aplicatico Quarto para R.

  • Para criar um arquivo Rmarkdown, basta clicar em File > New File > R Markdown

R e Ciência de Dados

  • Ciência de dados é um conjunto de ferramentas que permite o pesquisador transformar dados brutos em compreensão, insights e conhecimento.

  • Aprender as ferramentas mais importantes em R, permitirão que o pesquisador realize ciência de dados de forma eficiente e reprodutível

  • A ciência de dados é um campo vasto e por isso vamos seguir as seguintes etapas:

  1. O pesquisador começa com a importação e organização dos dados.

  2. Em seguida, entende seus dados por meio de um ciclo iterativo de transformação, visualização e modelagem.

  3. Por fim, finaliza o ciclo comunicando seus resultados para outras pessoas.

  • Todas essas etapas são realizadas utilizando a linguagem de programação em R integradas com outras linguagens

  • Algumas referências para o curso: Irizarry (2019), Boehmke (2016), Wickham, Grolemund, et al. (2017), Zamora Saiz et al. (2020), Wickham (2019) e Grolemund (2014)

Atividades

  • Crie uma conta no Github

  • Crie um projeto

Referências

Boehmke, Bradley C. 2016. Data wrangling with R. Springer.
Grolemund, Garrett. 2014. Hands-on programming with R: Write your own functions and simulations. " O’Reilly Media, Inc.".
Irizarry, Rafael A. 2019. Introduction to data science: Data analysis and prediction algorithms with R. Chapman; Hall/CRC.
Wickham, Hadley. 2016. «ggplot2: Elegant Graphics for Data Analysis». https://ggplot2.tidyverse.org.
———. 2019. Advanced r. chapman; hall/CRC.
Wickham, Hadley, Garrett Grolemund, et al. 2017. R for data science. Vol. 2. O’Reilly Sebastopol, CA.
Zamora Saiz, Alfonso, Carlos Quesada González, Lluís Hurtado Gil, e Diego Mondéjar Ruiz. 2020. An Introduction to Data Analysis in R: Hands-on Coding, Data Mining, Visualization and Statistics from Scratch. Springer International Publishing.