Ciência de Dados em R: Um Tutorial Interativo sobre a Linguagem R

Um tutorial interativo sobre o uso da linguagem R em Ciência de Dados para iniciantes.

Data de Publicação

5 fevereiro 2024

1 Introdução

Seja bem-vindo(a) a “Linguagem R: Um Tutorial Interativo”!

Este tutorial foi criado especialmente para estudantes e profissionais das áreas de administração, economia e contabilidade, que buscam aprimorar suas habilidades na análise e modelagem de dados com a linguagem R.

O que você encontrará neste tutorial?:

  • Uma introdução completa à linguagem R, incluindo Tipos e Estruturas de Dados. Técnicas para sumarização, visualização e modelagem de dados.

  • Você não precisará instalar nenhum software em seu computador! Por que utilizaremos WebR, que é uma versão da linguagem R compilada para navegadores, que possibilita a execução de código R no seu navegador, sem a necessidade de um servidor para executar o código.

  • Aplicações práticas da linguagem R à problemas nas áreas de administração, economia e contabilidade.

Público-alvo:

  • Alunos do Mestrado Profissional em Administração e do Bacharelado em Administração do IFMG - Campus Formiga.

  • Estudantes e profissionais de administração, economia e contabilidade que desejam aprender a utilizar a linguagem R para a análise de dados.

Pré-requisitos:

  • Acesso a um computador
  • Acesso à internet

Esperamos que este tutorial seja uma ferramenta relevante para o seu aprendizado e desenvolvimento profissional.

2 Algumas dicas

Uma pergunta que nos é feita com frequência é “qual é a melhor forma de aprender R?”. Infelizmente, não temos uma resposta pronta para essa pergunta, pois, em geral, todos tendem a aprender R (ou qualquer outra linguagem) à sua maneira e no seu próprio ritmo.

Dito isso, aqui estão algumas coisas a ter em mente que podem ajudar:

  • Use R com frequência e regularmente - encontre qualquer desculpa para ativar o interpretador da linguagem R ou algum Ambiente de Desenvolvimento Integrado adequado para a linguagem R.

  • Aprender R não é um teste de memória. Uma das vantagens de uma linguagem como R é que você sempre terá seu código para se referir quando inevitavelmente esquecer como fazer algo.

  • Você não precisa saber tudo sobre R para usá-la de forma produtiva. Se você ficar preso, pesquise no Google, não é trapaça, e escrever uma boa consulta de pesquisa é uma habilidade muito importante. Apenas certifique-se de verificar cuidadosamente se o código que você encontra está fazendo o que você quer que ele faça.

  • Se você se encontrar olhando para o código por horas tentando descobrir por que não está funcionando, então faça uma pausa. Perdemos a conta do número de vezes que conseguimos identificar erros quase imediatamente depois de voltar de uma pequena pausa.

  • Em qualquer linguagem e em R, há muitas maneiras de resolver um problema específico. Se o seu código não se parece com o de outra pessoa, mas faz o que você quer que ele faça em um tempo razoável e de forma robusta, então não se preocupe com isso - trabalho feito.

  • Relacionado ao ponto anterior, lembre-se de que R é apenas uma ferramenta para ajudá-lo a responder às suas perguntas interessantes. Embora possa ser divertido mergulhar em uma linguagem, não perca de vista o que é importante - sua(s) pergunta(s) de pesquisa e seus dados. Nenhuma quantidade de habilidade usando R ajudará se sua pergunta for vaga e os dados forem de baixa qualidade.

  • Aceite que haverá momentos em que as coisas ficarão um pouco difíceis ou frustrantes, isso acontece com todos nós. Tente aceitar esses períodos como parte do processo natural de aprender uma nova habilidade, lembre-se de que o tempo e a energia que você investir agora serão mais do que pagos em um futuro não muito distante.

3 A Linguagem R

Conforme Venables, Smith e R Core Team (2023), a linguagem R pode ser considerada uma implementação da linguagem S, que foi desenvolvida nos Laboratórios Bell por Rick Becker, John Chambers e Allan Wilks, e que também serviu como base para os sistemas S-PLUS.

A linguagem S foi iniciada em 1976 como uma linguagem para análise estatística originalmente implementada como um conjunto de bibliotecas Fortran. O objetivo da linguagem S, conforme expresso por John Chambers, era “traduzir ideias em software, de forma rápida e fiel”.

A evolução da linguagem S é caracterizada por três livros de John Chambers e coautores. Para R, a referência básica é Becker, Chambers e Wilks (1988). As novas características da versão de 1991 da linguagem S são abordadas em Chambers e Hastie (1992). Os métodos e classes formais do pacote methods são baseados em Chambers (1998).

R é uma linguagem de programação para computação estatística e visualização de dados, sendo adotada em diversas áreas do conhecimento e na indústria. A linguagem principal é aumentada por um grande número de pacotes, os quais contém, em geral, código reutilizável, documentação e dados.

A linguagem R é de código aberto e livre. É licenciada pelo Projeto GNU e disponível sob a General Public Licnce (GPL). A linguagem é escrita principalmente em C, Fortran e R. Existem executáveis pré-compilados para vários sistemas operacionais.

A sessão de informações a seguir contém um breve histórico do desenvolvimento das linguagens S e R, clique na caixa para que o conteúdo seja expandido.

  • 1976: A linguagem S é iniciada nos Laboratórios Bell por Rick Becker, John Chambers e Allan Wilks como uma linguagem para análise estatística originalmente implementada como um conjunto de bibliotecas Fortran.

  • 1988: a linguagem S é reescrita em C e começa a se parecer com o sistema atual (S3).

  • 1991: A linguagem R é iniciada pelos professores Ross Ihaka e Robert Gentleman como uma linguagem de programação para ensinar estatística introdutória na Universidade de Auckland, Nova Zelândia. A linguagem foi inspirada na linguagem S, com a maioria dos programas S capazes de ser executadas inalteradas em R. A linguagem também foi inspirada no escopo léxico da linguagem Scheme, permitindo variáveis locais.

  • 1993: Primeiro anúnico da linguagem R ao Público.

  • 1995: Martin Machler convence Ross e Robert a usarem a licença GNU para tornar R um software Livre.

  • 1997: The R Core Group é criado. Este grupo controla o código fonte da linguagem.

  • 1998: A versão 4 (S4) da linguagem S foi lançada, esta é a versão que usada atualmente hoje. John Chambers recebe o Association for Computing Machinery’s Software System Award pela linguagem S.

  • 2000: A versão R 1.0.0 é lançada.

  • 2024: R version 4.4.1 é lançada.

4 WebR: R no Navegador

Neste tutorial utilizaremos WebR. WebR é uma versão da linguagem R compilada para navegadores e Node.js usando WebAssembly, via Emscripten.

O WebR possibilita a execução de código R no navegador, sem a necessidade de um servidor para executar o código. O interpretador R é executado diretamente no seu navegador.

Na sequência deste tutorial, você irá encontrar diversas “caixas” como a exibida a seguir. Na verdade, essa “caixa” é a interface de linha de comando da linguagem R, que em geral recebe o nome de console.

Para executar um código, basta clicar em Run Code. Experimente executar o código a seguir:

Ao clicar em Star Over, o ambiente (caixa contendo código R) é reiniciado você apaaga a execução anterior e você pode executar novamente, ou fazer uma alteração e executar em seguida.

Você pode editar os comandos exibidos no console e testar outros, faça alguns experimentos, analise e tente entender os resultados, é assim que se aprende.

Na linguagem R, o símbolo # representa comentários da linguagem, assim, tudo que está após # é ignorado quando executamos o código. Na sessão de dicas a seguir, explicamos a importância de inserirmos comentários em nossos códigos R e damos dicas sobre como usá-los.

Enumeramos a seguir algumas razões da importância de inserir comentários em códigos da linguagem R (e de qualquer linguagem de programação).

  1. Compreensão:
  • Explicam o que o código faz: facilitam o entendimento do código para você mesmo e para outros, mesmo após um tempo.

  • Descrevem a lógica: esclarecem as decisões e os métodos utilizados no código.

  1. Manutenção:
  • Facilitam a atualização: tornam o código mais fácil de modificar e adaptar no futuro.

  • Documentam o código: servem como um guia para quem precisa entender ou modificar o código.

  1. Depuração:
  • Identificam problemas: facilitam a localização de erros e falhas no código.

  • Ajudam na correção: fornecem informações sobre o que o código deveria fazer e como ele está funcionando.

  1. Colaboração:
  • Melhoram a comunicação: permitem que outros programadores compreendam suas ideias e intenções.

  • Facilitam o trabalho em equipe: tornam o código mais legível e acessível para todos os envolvidos.

Dicas para comentários:

  • Use frases curtas e concisas.
  • Evite comentários óbvios ou redundantes.
  • Explique o “porquê”, não apenas o “como”.
  • Atualize os comentários ao modificar o código.

Vários pacotes R também foram portados para uso com o webR e podem ser carregados da maneira usual usando a função library().

No exemplo que veremos na sequência, utilizamos o pacote xts, que é um pacote que define uma classe muito útil para a representação de dados em séries temporais, que é um dos tipos de dados mais comuns nas áreas de administração, contabilidade e economia.

O código do exemplo consiste em simular um processo aleatório conhecido como movimento browniano, que representa muito bem o comportamento de ativos financeiros arriscados, e define a série simulada como um objeto da classe xts, em seguida, fazemos um gráfico de linha dos preços simulados.

Fique calmo, ao longo do tutorial estudaremos com certo detalhe todos os conceitos destacados neste exemplo.

Execute o código do exemplo clicando em Run Code:

Repare quantos procedimentos relativamente sofisticados podem ser realizados com apenas 3 linhas de código!

Script

O código que você acabou de executar é um exemplo de um script, ainda que muito pequeno em termos do número de linhas de código. Um script em linguagem R é um arquivo contendo uma sequência de comandos ou instruções que são executados de maneira sequencial.

Pode-se pensar em um script como uma receita passo a passo para realizar tarefas específicas utilizando a linguagem R. Em alguns exercícios, você será solicitado a criar um script, e agora você já sabe que isso significa apenas criar uma sequência de comandos, de forma sequencial para realizar uma tarefea específica.

5 Exercícios

Filtre o conjunto de dados starwars de modo que apenas os personagens droides sejam incluídos.

Solução:

Use a função filter() do dplyr:

1starwars |>
2    filter(species == "Droid")
1
Comece com os dados starwars, e então,
2
Filtre a espécie “Droid”.

Referências

BECKER, R. A.; CHAMBERS, J. M.; WILKS, A. R. The New S Language. New York: Chapman & Hall, 1988.
CHAMBERS, J. M. Programming with Data. New York: Springer, 1998.
CHAMBERS, J. M.; HASTIE, T. J. (EDS.). Statistical Models in S. New York: Chapman & Hall, 1992.
VENABLES, W. N.; SMITH, D. M.; R CORE TEAM, THE. An Introduction to R. Vienna, Austria: R Foundation for Statistical Computing, 2023.