Descobrindo quais são os pacotes de séries temporais mais populares do R

Sillas Gonzaga, Cientista de Dados e professor do curso Ciência de Dados com R, elaborou este post com o objetivo de explicar como utilizar códigos para descobrir quais pacotes de séries temporais são mais utilizados na programação R.

Dentre os tópicos abordados, você verá:

  • O que são as “Task views” do CRAN, o repositório oficial de pacotes do R;
  • Um tutorial simples porém útil de Web Scraping, de manuseio de texto e de expressões regulares (regex);
  • Um exemplo de manuseio de dados usando o tidyverse;
  • Os 20 pacotes de séries temporais mais populares (em número de downloads) do R.

Views do CRAN

O R já ultrapassou a marca de 10 mil pacotes disponibilizados no CRAN, o repositório oficial de pacotes do R. Não se tem notícia de nenhum outro programa estatístico que possua tanta diversidade de aplicações, ainda mais de forma gratuita. Mas isso também pode ter um lado ruim: como achar um pacote que você precisa?

Para organizar e categorizar essa infinidade de pacotes, o pessoal do CRAN tem uma página chamada Task Views, onde os pacotes são divididos em 35 páginas: existem grupos para Finanças, Econometria, Machine Learning, Psicometria e, claro, Séries Temporais, além de outros.

O responsável pela Task View de Séries Temporais não é ninguém menos que Rob Hyndman, um dos maiores especialistas do assunto no mundo.

Vamos então nos propor um desafio: contar, automaticamente, a quantidade de pacotes listados na Task View de Séries Temporais por meio de Web Scraping na página. Para isso, precisamos ler o código fonte da página, extrair os links de pacotes e remover as duplicatas.

Web scraping

Para este tutorial, usamos os seguintes pacotes:

Como o web scraping em si não é o objetivo principal do post, não vou entrar em detalhes sobre o código escrito para extrair os links, mas os comentários no código explicam parcialmente o que cada linha faz.

  • readhtml %>% # lê o codigo fonte da pagina
  • htmlnodes(“a”) %>% # filtra todo o texto dentro da tag html < a >
  • html_attr(“href”) # filtra todo o texto cujo atributo é href (usado para se referir a links)

Dando uma olhada no output

Notamos quatro problemas que precisamos consertar:

  1. É necessário extrair o nome dos pacotes de uma string do tipo ../packages/zoo/index.html, onde zoo é o nome do pacote;
  2. Links de pacotes vêm incompletos: ../packages/zoo/index.html ao invés de https://cran.r-project.org/web/packages/forecast/index.html;
  3. Muitos links além das urls de pacotes são extraídas;
  4. Existem duplicatas.

Vamos resolver um problema por vez (não necessariamente na ordem acima). Primeiro, extraímos os strings que possuem o padrão /packages/ e removemos as duplicatas:

Para extrair o nome dos pacotes, usamos uma aplicação simples de expressões regulares para remover os caracteres ../packages/ e /index.html.

Extrair nome do pacote apenas do string

Classificar em ordem alfabética

Ver como ficou

pacotes %>% head(20)

Funcionou perfeitamente. Quantos pacotes temos no total?

São impressionantes 234 pacotes relacionados a séries temporais! Vale a pena ler a página da Task View de Séries Temporais para uma breve descrição de cada um desses pacotes.

Medindo a popularidade dos pacotes

234 não são 10 mil, mas ainda assim é um número grande de pacotes para quem usa ou quer começar a usar o R para análise de Séries Temporais. Uma boa maneira de saber os pacotes mais importantes é medindo sua popularidade em número de downloads nos últimos 30 dias.

Baixar quantidade de downloads desses pacotes no ultimo mes

Dando uma olhada no output

head(dls)

A função resulta em um data frame simples de três colunas: data, quantidade de downloads e nome do pacote. Vamos então fazer um gráfico dos 20 pacotes mais baixados:

Agrupar os dados usando o dplyr

Eu costumo usar um tema pessoal meu para deixar os graficos do ggplot2 mais atraentes

Confesso que, desses 20 pacotes, conheço apenas o zoo, lubridate, forecast, xts, fpp, dygraphs e vars. Vale o exercício de entrar nas páginas desses pacotes para entender o porquê de suas popularidades.

Tem o interesse de aprender como aproveitar melhor o R e suas aplicações em diversos tipos de projetos? Aproveite e venha participar das novas turmas do curso Ciência de Dados com R. O curso presencial acontecerá em Brasilia e em São Paulo e você já pode se inscrever! Te aguardamos para trocar experiências e praticar os aprendizados.

postrelacionados

Comentários

comments

Deixe um comentário