Outubro 15, 2019

A linguagem R

R é uma linguagem de programação estatística e gráfica que vem se especializando na manipulação, análise e visualização de dados, sendo atualmente considerada uma das melhores ferramentas para essa finalidade. A linguagem ainda possui como diferencial a facilidade no aprendizado, mesmo para aqueles que nunca tiveram contato anterior com programação.

Linguagem R

Conhecendo o R

O R foi criado em 1995 por estatísticos que realizaram sua implementação a partir da linguagem S da Bell Labs, com a finalidade de obter um melhor ambiente de software para laboratórios de estatística.

A linguagem pode ser executada em diferentes sistemas operacionais, como Windows, Mac OS e Linux e possui código aberto, o que permite sua utilização para visualização, modificação e distribuição de graça por qualquer pessoa ou empresa, com qualquer finalidade.

Essas características contribuem de maneira significativa para seu desenvolvimento, levando a uma comunidade ativa de colaboradores espalhados pelo mundo, onde qualquer desenvolvedor pode contribuir para melhoria do sistema.

Esta longa e confiável história do R, somada à sua grande e sólida comunidade de apoio, coloca-o como excelente opção para análise de dados e machine learning.

Como programar em R

Programar na linguagem R é muito simples. Mesmo quem nunca teve contato algum com programação costuma ter facilidade no aprendizado, principalmente quando o ensino é de qualidade. Com didática, exemplos simples e objetivos, avançando para assuntos mais complexos de maneira gradual, sem ignorar conceitos importantes (evitando assim lacunas no aprendizado), todos conseguirão programar em R.

Programando no R

Vamos conhecer um pouco sobre a estrutura da linguagem, para então entender como os scripts são criados:

  • Variáveis: são criadas pelo programador com a finalidade de salvar informações. As informações inseridas em uma variável ficarão disponíveis para utilização enquanto a variável existir. As variáveis terão um tipo específico, de acordo com o tipo de dado que foi salvo ou de acordo com a indicação do programador.
  • Funções: são um conjunto de instruções pré-definidas que executam uma ou mais tarefas. Existem muitas funções já prontas para sua utilização, salvas em pacotes desenvolvidos para facilitar a criação de scripts. Quanto mais funções o programador conhecer, mais fácil será escrever seus scripts. Também é possível criar funções no próprio script, passando todas as instruções que deverão acontecer quando a função for utilizada.
  • Operadores: com os operadores fazemos operações matemáticas, como soma, divisão, multiplicação, etc., e comparações como igual, diferente, maior e menor. Também podemos utilizar os operadores lógicos E, OU, e negação para simplificar nossos códigos.
  • Tipos de dados: numéricos (operações matemáticas), caracteres (operações com letras, palavras, frases, etc.), fatores (categorias) e lógicos (verdadeiro ou falso). Esses são os tipos de dados básicos existentes na linguagem R.
  • Estrutura de dados: vetores, que são uma sequência de dados do mesmo tipo. Listas, que são vetores com tipos de dados diferentes. Matrizes, que possuem duas dimensões e um tipo de dado. Data frames, que são estruturas mais complexas, similares as planilhas do Excel e com tipos de dados diferentes.
  • Condicionais: If, For e While. No condicional If, dizemos que se algo é verdadeiro, uma ação deve ser realizada, se não é, outra será (ou nenhuma). No loop For, uma ou mais instruções serão realizadas determinado número de vezes. No loop While, as instruções serão realizadas enquanto uma condição for atendida.

Com essas informações, já podemos realizar a criação de scripts, inclusive com considerável complexidade. Para este primeiro contato com a linguagem, iremos apresentar o mais simples, que normalmente é utilizado quando estamos iniciando o aprendizado de uma nova linguagem de programação, que é escrever na tela a frase “Olá mundo!”.

Uma opção de código para essa finalidade é:

> Frase <- “Olá mundo!”
> print(Frase)

Após a execução dessas duas linhas, a o resultado abaixo será apresentado:

“Olá mundo!”

Com a execução da primeira linha desse código, a variável “Frase” é criada em nossa sessão, e recebe como conteúdo a frase “Olá mundo!”. A variável “Frase” fica então a disposição para ser utilizada, o que significa que poderíamos utilizá-la de muitas formas. Na segunda linha, simplesmente usamos a função print(), que irá trazer como resultado de sua execução a impressão na tela do conteúdo existente na variável informada dentro dos parênteses.

Caso você queira realmente aprender a programar em R, confira aqui nosso curso básico de linguagem R, onde iniciamos de maneira muito simples e prática, com foco na didática, para que os alunos consigam absorver o conteúdo completo sem nenhuma dificuldade.

Os pacotes da linguagem R

Pacotes no R

No R existem as funções built-in, que são o coração da linguagem e compõem o R-base. Elas permitem o funcionamento básico do programa, e são carregadas no momento em que iniciamos o R, estando à disposição para sua utilização direta, sem a necessidade de nenhum comando prévio no script. Um exemplo que já utilizamos foi a função print(). Mais a frente esta ideia ficará mais clara.

Além do R-base existem também os pacotes da linguagem, que possuem funções com as mais diferentes finalidades. Os pacotes recomendados são instalados juntamente com o R-base, porém não são carregados quando a sessão é iniciada, como acontece com as funções built-in. Desta forma, precisamos realizar o carregamento do pacote antes de utilizar uma função dele. Para isso utilizamos o comando library(), informando entre os parênteses o nome do pacote que desejamos carregar.

No CRAN, que é o repositório de pacotes da linguagem R, ainda existe uma grande quantidade de pacotes, que hoje passa de 15.000. Esses pacotes são submetidos pelos mais diferentes desenvolvedores. Inclusive você pode criar um pacote e submetê-lo ao CRAN. São poucas as tarefas que você pode precisar realizar que não possuem um pacote, com uma função que atenda sua necessidade já desenvolvida.

Neste site estão os detalhes dos pacotes e suas funções, normalmente com uma documentação detalhada, explicando claramente o funcionamento de cada função.

Caso você tente utilizar uma função que não esteja carregada na sessão, uma mensagem de erro será apresentada: “could not find function …”.

Could not find function

Você deverá então carregar o pacote dessa função, e novamente um erro pode ser apresentado: “there is no package called …”.

There is no package called

Esse comportamento acontecerá quando você tentar utilizar um pacote que não veio instalado com o R-base. Neste caso, antes de carregar o pacote, será necessário realizar a sua instalação. Para isso é necessário possuir o arquivo com o pacote, ou conexão com a internet, para então utilizar a função install.packages(), indicando dentro dos parênteses, entre aspas, o nome do pacote em questão.

Este procedimento será necessário apenas na primeira execução do pacote no computador, nas próximas vezes ele já estará instalado, sendo necessário apenas o carregamento com a função library().

RStudio

Mais uma vantagem de utilizar a linguagem R está no RStudio, que é uma IDE, ou ambiente de desenvolvimento integrado, para o R. Com sua utilização gratuita, o RStudio é uma excelente ferramenta para desenvolvimento em R, extremamente visual quando comparado com ambientes de outras linguagens e também com o console do R, e muito simples de se utilizar.

Área de trabalho: abaixo vemos uma tela básica de trabalho do RStudio, já contendo algumas poucas customizações. Você pode ajustar os painéis conforme preferir.

Área de trabalho RStudio

Console: onde as instruções efetivamente acontecem, e as respostas são apresentadas. Você pode escrever a instrução diretamente no console e executar, ou ainda escrever no painel “Source”, ao lado. Após a execução as instruções serão automaticamente enviadas ao console e executadas.

Painel Console do RStudio

Source: onde podemos escrever o script. O editor de texto nos auxilia completando o código conforme iniciamos a escrita, inclusive com opções de variáveis já criadas, entre outras facilidades. Podemos inserir comentários, que nos auxiliam a entender o código, começando a linha com uma “#”. Se salvarmos o conteúdo do painel será gerado um arquivo com a extensão .R, para edição futura. Para executar uma linha basta pressionar “ctrl” + “enter”, ou selecionar as linhas que queremos executar e clicar sobre o botão “Run”.

Painel Source do RStudio

Environment: neste painel as variáveis já criadas serão exibidas. É possível também exclui-las diretamente no painel, selecionando a variável e clicando sobre o botão “vassoura”. Conforme vemos, há duas opções de visualização: “List” e “Grid”. Na Grid temos o tipo, comprimento, tamanho e conteúdo da variável.

Painel Environment do RStudio

Pacotes, Visualizações, Ajuda: neste painel temos algumas opções interessantes, como a lista de pacotes já instalados, uma área para visualizar gráficos gerados, e a ajuda, onde podemos verificar os detalhes das funções.

Painel Pacotes, Visualizações, Ajuda do RStudio

Variáveis: podemos ainda utilizar a função View() para visualizar o conteúdo de uma variável. Desta forma o conteúdo será exibido em uma aba no painel “Source”, podendo ser expandido para tela cheia. Com esta funcionalidade a visualização de conteúdos fica muito simples, e em muitos casos será apresentada uma tabela com as informações, sendo possível inclusive utilizar filtros.

RStudio tabela

R para machine learning

Todas essas características, atreladas a simplicidade para criação de modelos estatísticos tornam o R uma excelente opção para a aplicação de machine learnig. Muitos algoritmos de machine learning estão à disposição para utilização no R, muitas vezes sendo executados com uma ou duas linhas de código.

A utilização dos algoritmos de machine learning é apenas uma das etapas do processo. Para efetiva aplicação é necessário que a ferramenta escolhida atenda a todas as etapas, possibilitando assim o conhecimento dos dados, preparação, aplicação do algoritmo e apresentação dos resultados.

Coleção Tidyverse

A linguagem R tem um ótimo desempenho em todas essas etapas, possuindo pacotes de grande qualidade para utilização nestas finalidades. Alguns destes são os pacotes da coleção Tidyverse, desenvolvida especificamente para análise de dados, permitindo que as manipulações e visualizações aconteçam de maneira simples e eficaz. A coleção possui muitos pacotes, sendo os principais o dplyr, ggplot2 e stringr.

dplyr: foco na manipulação dos dados de maneira muito fácil, com funções intuitivas, inclusive lembrando a linguagem SQL.

ggplot2: baseado na Gramática dos Gráficos os gráficos são gerados com base nos dados informados. Com poucas linhas de código, visualizações de grande qualidade são geradas.

stringr: tratamento de strings (texto) de diferentes maneiras, com objetividade e simplicidade.

Para utilização dos algoritmos de machine learning, umas das principais opções é o pacote caret, que possui excelentes funções para criação e ajuste de modelos. Dentre as principais funções do pacote estão a train() e a trainControl(), que permitem a utilização de diferentes algoritmos apenas alterando alguns parâmetros das funções, trazendo grande simplicidade ao código necessário para teste de diferentes modelos.

Além de sua grande aplicabilidade, o pacote ainda conta com uma excelente documentação, muito bem organizada, separada em 24 capítulos, deixando muito clara a finalidade do pacote, e simplificando sua aprendizagem.

Para continuar seu aprendizado, confira nosso curso totalmente gratuito de linguagem R para machine learning, onde abordamos de maneira prática e direta as ferramentas do R para o aprendizado de máquina.

Curso de machine learning com R

Para aqueles que buscam aprender machine learning, mesmo com pouco ou nenhum conhecimento na área, desenvolvemos o curso de machine learning com R, com mais de 60 aulas, teóricas e práticas, totalmente focadas no aprendizado do aluno.

Este curso não possui nenhum tipo de pré-requisito, e foi organizado de maneira que todos possam acompanhar. Existem aulas básicas de programação e matemática, que poderão ser puladas por alunos que já possuem este conhecimento, sem nenhum tipo de prejuízo, partindo assim para assuntos mais complexos, caso seja o interesse.

Sem dúvidas, aprender machine learning com a linguagem R é uma excelente decisão. Você não irá se arrepender!

Clique aqui e confira todos os nossos cursos.

Leia também: