Iniciando na linguagem R

01/12/2021

Linguagem R

Nos dias atuais, o uso de linguagens de programação tem sido indispensável na rotina de profissionais das mais diversas áreas, dentre as quais ouvimos falar com maior frequência a Python, Java e C/C++. Essas ferramentas possibilitam otimizar processos do dia a dia, como também auxiliam na resolução de problemas mais complexos. Porém, quando a tarefa a ser realizada envolve análise de dados, a linguagem R é uma das ferramentas mais poderosas para se utilizar.

O que é R?

O R é uma linguagem de programação e também um ambiente de análise de dados criada por Robert Gentleman e Ross Ihaka – daí o nome “R”, as iniciais dos nomes de seus criadores. Tem sido amplamente utilizada no meio acadêmico e profissional devido à sua eficácia para lidar com todos os tipos de dados e problemas complexos, e por isso tem ganhado cada vez mais espaço nos últimos anos nas mais variadas áreas. No entanto, essa ferramenta não tem sido vista apenas como uma forma de programar, mas também como um conjunto de soluções estatísticas extremamente eficaz e que permite investigar a fundo as mais variadas bases de dados.

Vantagens

Um dos principais benefícios em se utilizar o R se dá pelo fato de ser um software gratuito e open source (código aberto), o que favorece para sua evolução constante e seu uso para qualquer finalidade. A própria comunidade, popularmente conhecida como “comunidade R”, é uma das grandes responsáveis em contribuir para com esse progresso, sem contar no seu engajamento em desenvolver bibliotecas (ou pacotes) que atendem a problemáticas diversas (de inteligência artificial à análise de textos) e na disposição em ajudar os usuários em grupos de aplicativos de conversas (R Brasil no Telegram) ou em fóruns na internet (Curso-R no Discourse), por exemplo – a comunidade R é um dos grandes diferenciais desta linguagem, diga-se de passagem. Além disso, o R é uma linguagem bastante flexível, ela roda nos sistemas operacionais Windows, macOS e Linux sem muitos problemas.

No R é possível programar, permitindo otimizar processos de análise de dados gerais, e visualizar os dados por meio de gráficos extremamente expressivos, intuitivos e por vezes interativos, o que facilita ter insights sobre o problema de forma muito mais rápida. Os pacotes de gráficos, por sua vez, podem ser considerados “a menina dos olhos” do R, dada a gama de formatos, cores e aplicações (spoiler: pacote {ggplot2}). Tudo isso, análises estatísticas e gráficos, se divulgados em relatórios dinâmicos do tipo RMarkdown, garante trabalhos reprodutíveis de qualidade, fator essencial na realização de pesquisas. Uma sugestão de leitura sobre RMarkdown é o post Relatórios com RMarkdown aqui do blog. Outra forma de publicar os resultados é usar o aplicativo web Shiny, painel (fantástico!) onde usuários fazem análises a partir da seleção dos filtros, geralmente variáveis, de escolha.

Um dos passos iniciais na análise de dados é manipular a base de dados, momento em que é feita a “limpeza” e organização dos dados para prepará-los para o processo de análise de fato. Felizmente, o R possui um forte suporte para essa etapa de manipulação. Pacotes como o {dplyr} são muito eficientes e possuem funções com sintaxes bastante simples para tal tarefa.

Por fim, todas essas possibilidades podem ser facilmente programadas em uma IDE (em inglês, Integrated Development Environment), literalmente um ambiente de desenvolvimento integrado onde podem ser combinadas ferramentas utilizadas no desenvolvimento de aplicações, como um editor de código ou uma ferramenta de preenchimento inteligente de código. Tudo em uma mesma interface e sempre com intuito de facilitar e acelerar o trabalho. A maioria dos usuários de R utilizam a IDE RStudio, a qual dispõe de um ambiente surpreendentemente bom e intuitivo.

Desvantagens

Uma das principais desvantagens do R é o fato de ser uma linguagem com uma curva de aprendizagem lenta, principalmente se comparada com as outras linguagens mencionadas inicialmente. Isso significa que o processo de aprendizagem pode ser um pouco mais difícil para quem não tem qualquer experiência com programação, ainda que isso possa mudar conforme estruturas básicas da linguagem são conhecidas.

Para grande volume de dados, o R também não é a melhor em razão da baixa memória computacional. Por outro lado, isso facilmente pode ser resolvido recorrendo a bibliotecas específicas para armazenagem de dados.

Apesar dos pontos negativos, vale lembrar que o R é uma linguagem de programação em constante desenvolvimento. Logo, a tendência é que esses problemas diminuam à medida que novas versões são lançadas e novos pacotes são criados.

Como começar no R?

Para iniciarmos no R, primeiramente devemos instalar o R base e um IDE. Para isso, recomendam-se os seguintes passos:

Instalação do R base

O R base pode ser baixado diretamente da rede de distribuição do R em CRAN, onde, inicialmente, deve-se escolher o sistema operacional (Linux, macOS ou Windows).

Caso o sistema operacional escolhido seja o Windows, deve-se escolher o subdiretório base.

Posteriormente, basta fazer o download.

Feito isso, é necessário abrir o arquivo executável que foi baixado na máquina e seguir os passos requeridos na instalação. Para usuários de Linux e macOS, após escolher o link de download do sistema operacional, com uma breve leitura das instruções que são disponibilizadas em texto, é possível prosseguir com a instalação sem muitas dificuldades.

Instalação do RStudio

Pode ser baixado diretamente do site oficial RStudio (é o recomendável, inclusive).

Atualmente, são disponibilizadas quatro versões do RStudio, sendo duas com licença comercial e duas com licença open source. Nosso interesse está no RStudio Desktop, o qual é gratuito e possui uma licença open source. Sendo assim, é essa opção de download que vamos escolher.

Depois disso, é só seguir as instruções de instalação do arquivo executável.

Após instalar o R e o RStudio, será com o RStudio que vamos interagir. Imediatamente ao abri-lo, teremos a seguinte tela:

Essas são as quatro principais áreas do ambiente do RStudio, sendo cada uma descrita a seguir:

1. Escrever códigos (principalmente arquivos em formato .R).

2. Área do console, onde se executa os códigos.

3. Nessa área, temos diversas utilidades frequentemente utilizadas:

– podemos acessar arquivos e pastas do computador pela aba Files;

– na aba Plots, visualizamos resultados em que são gerados figuras (como gráficos e tabelas), caso um comando desse tipo tenha sido executado;

– em Packages, podemos manusear pacotes (instalar, atualizar ou deletar);

– na aba Help temos acesso à documentação de uma determinada função quando utilizado o comando help() ou ?.

4. Aqui, é possível acessar todos os objetos criados em Environment e o histórico de códigos executados em History e conectar fonte de dados em Connections.

Para uma primeira interação com o ambiente de desenvolvimento, podemos utilizá-lo como uma calculadora. Basta digitar uma operação matemática no console e apertar a tecla Enter do teclado para executar e retornar o resultado da operação em questão. As operações matemáticas básicas no R, por sua vez, seguem as estruturas apresentadas abaixo:

# Potência
2^5

# Multiplicação
2 * 5

# Divisão
2/5

# Adição
2 + 5

# Subtração
2 – 5

Por padrão, o R entende as linhas de códigos da esquerda para a direita e de cima para baixo. No entanto, ao se deparar com operações matemáticas, ele respeita algumas prioridades. A operação com maior para a menor prioridade é: potenciação > multiplicação ou divisão > adição ou subtração. Caso haja a necessidade de alterar essa ordem, isso pode ser feito utilizando parênteses.

Para verificar a prioridade das operações, veremos alguns exemplos abaixo. Em cada um deles, é apresentado o exemplo e o seu respectivo resultado, disposto ao lado do símbolo [1] (esse [1] indica a posição do algarismo):

# Potência > Multiplicação > Soma
2^2 + 5 * 2

[1] 14

# Multiplicação > Potência > Soma
2^2 + (5 * 2)

[1] 14

# Potência > Soma > Multiplicação
(2^2 + 5) * 2

[1] 18

Agora que conseguimos realizar cálculos simples com o R, é a vez de falar de objetos. Os objetos, que podem ser considerados variáveis, são “locais” onde são guardadas informações (números, textos etc). O ato de “guardar” informações dentro de objetos é chamado de atribuição, e pode ser feito com <- ou =. Alguns exemplos:

# Variável x recebe o número 5 de diferentes formas
x <- 5; x = 5; y = (2^2 + 6) - 4; x <- y - 1

Dentre as classes de objetos existentes no R, quatro deles se destacam por serem mais usados na prática. Abaixo temos alguns exemplos e verificamos a classe de objetos que cada variável atribuída pertence:

# numeric/números reais.
x <- 0.9; class(x) [1] "numeric"

# integer/números inteiros.
# obs: para ser entendido pelo R como integer, o valor deve ser atribuído à variável acompanhado de um ‘L’.
x <- 5L; class(x) [1] "integer"

# character.
x <- "gestante"; class(x) [1] "character"

# logical/valores lógicos (TRUE,FALSE).
x <- TRUE; class(x) [1] "logical"

Obs.: note que os valores lógicos são apresentados em letra maiúscula. Isso é muito importante, pois o R diferencia letras maiúsculas de minúsculas. Então, valores lógicos só são reconhecidos se escritos como TRUE ou FALSE.

Vale dizer também que cada valor lógico assume um valor numérico, sendo TRUE referente ao valor 1 e FALSE referente ao valor 0:

TRUE + TRUE + FALSE + 2*TRUE

[1] 4

Voltando aos objetos, eles podem ser do tipo:

– Vetor;

– Matriz;

– Array;

– Data Frame; e

– Lista.

Todos esses objetos têm a característica de poder conter diversos valores (ou texto) ao mesmo tempo. Assim, é possível utilizar estruturas com milhares de dados para realizar manipulações e análises em apenas um objeto.

Tudo que foi apresentado nesse breve tutorial foi abordado com mais detalhes no minicurso Primeiros passos no R, recomendado fortemente ao leitor. Além disso, a Curso-R disponibiliza o livro Ciência de Dados em R em que são abordados temas desde a instalação até assuntos mais avançados.

Dicas

Durante a construção de um script (arquivo de códigos, geralmente arquivos .R) é de extrema relevância incluir explicações a respeito do que está sendo feito, pois é importante que a leitura do script esteja a mais clara possível. Dessa forma, fica mais fácil para que outras pessoas que tenham acesso ao conjunto de códigos possam entender o que foi feito – e mesmo o próprio programador, que às vezes precisa recorrer ao seu script feito num tempo considerado distante (meia hora atrás já é o bastante). Essas explicações podem ser incluídas através de comentários por meio do símbolo #, como por exemplo:

# Variável que contém o valor 2.
x <- 1 + 1

O símbolo # pode ser usado tanto para informar quem for ler o código posteriormente como também para dizer qual parte do seu script você não quer que seja executado. Vejamos:

# É executado
x <- 1 + 1 # Não é executado #y <- 5 - 5

Uma breve explicação do que o script faz também é uma boa prática a se adotar no início de cada arquivo.

# Script para ensinar as utilidades de se comentar linhas de códigos

# É executado
x <- 1 + 1 # Não é executado #y <- 5 - 5

Obs.: é possível comentar blocos de linhas de códigos de uma só vez, basta selecionar o que você não quer que seja executado e utilizar o comando Ctrl + Shift + C.

Sempre que houver a dúvida sobre o que um determinado comando ou função faz, podemos pedir ajuda no próprio R por meio do comando help() ou ?, por exemplo:

Vemos na figura acima que ao executar comando help(“hist”) no console, a aba Help foi atualizada com uma descrição da função hist( ).

Caso o console retorne algum erro após tentar executar um código, uma dica é copiar o erro e pesquisá-lo no Google. É muito provável que alguém já tenha tido o mesmo erro e consequentemente pode ser muito mais fácil encontrar a solução esperada.

Mais conteúdo sobre boas práticas e dicas de R para iniciantes, sugiro a playlist Boas práticas no R disponibilizada pelo DaSLab, da UFES. Lá, existem outros vídeos curtos e diretos, especialmente úteis para quem está iniciando.

Todo o conteúdo aqui abordado serve de introdução às pessoas que nunca tiveram contato com o R anteriormente. A comunidade é extremamente ativa, como já dito, e é possível encontrar um vasto mundo de tutoriais e guias com uma simples pesquisa na internet. Mas mesmo assim se ficou com alguma dúvida ou queira fazer sugestões, pode nos escrever em observatorioobstetricobr@gmail.com ou entrar em contato pelo Twitter ou Instagram.