O tidyverse em números

Análise quantitativa do crescimento do tidyverse no R com dados do CRAN sobre dependências, popularidade e crescimento dos pacotes.
tidyverse
data-science
R
dados
Published

August 17, 2025

O tidyverse em números

O ecossistema do {tidyverse} cresceu muito nos últimos anos. Em outro post disctiu-se algumas das razões do seu sucesso em maiores detalhes. Em linhas gerais, o tidyverse apresenta atualmente uma sólida combinação de fatores tanto para iniciantes como para usuários experientes.

  1. Funções consistentes. As funções do tidyverse tem nomes padronizados e funcionam de maneira mais consistente do que as alternativas do Base-R.
  2. Compatibilidade. As funções do tidyverse
  3. Solução de ponta a ponta.

Explorando o tidyverse

O “núcleo duro”, por assim dizer, do tidyverse é composto por 8 pacotes:

  • dplyr
  • tidyr
  • tibble
  • readr
  • stringr
  • lubridate
  • forcats
  • purrr
  • ggplot2

Cada um destes pacotes resolve algum problema central na análise de dados. O pacote readr importa os dados; o tibble é a plataforma que contém os dados; dplyr e tidyr limpam os dados; e, finalmente, ggplot2 visualiza os dados.

Os pacotes lubridate, forcats e stringr lidam com as três classes importantes de dados: datas, factors e texto. Por fim, o pacote purrr amarra todo este ecossistema de pacotes numa abordagem de programação funcional que é elegante e eficiente.

Além dos pacotes core, o tidyverse traz junto consigo outros pacotes importantes como

  • rvest/xml2/httr, para webscrapping,
  • jsonlite/readxl/haven/feather, para importação de outros tipos de arquivos de dados e
  • modelr/broom para modelagem de dados e apresentação de resultados.

Números do CRAN

Olhando para as estatísticas do CRAN, vê-se que os pacotes do tidyverse são muito relevantes dentro do ecossistema. Os dados compilados abaixo mostram o retrato dos pacotes do CRAN em 05 de setembro de 2023, quando havia cerca de 19.800 pacotes ativos.

Note que nos gráficos abaixo, o ano de publicação reflete o ano da versão mais recente de cada pacote. Assim, pacotes ativos cuja última atualização foi anterior a 2016 dificilmente vão possuir alguma dependência com os pacotes do tidyverse já que a maioria deles estava ainda na sua infância.

A presença de pacotes do tidyverse é crescente, chegando a mais de 40% em 2023.

Vale lembrar que há três tipos de “dependência” entre pacotes no R: imports, depends e suggests. Tipicamente, se um pacote A usa algumas funções de outro pacote B, então o pacote A importa (imports) o pacote B. Isto é, ele assume que o usuário tenha o pacote B instalado. Já a relação depends é mais estrita: se um pacote A depends de um pacote C então os pacotes são carregados conjuntamente quando se chama library()1. Por fim se um pacote A usa um pacote D, em algum contexto específico, mas não requer que o usuário tenha o pacote D instalado, então o pacote A suggests o pacote D2.

Olhando os dados por pacote vê-se que o ggplot2 e dplyr são os mais populares.

Conclusões dos dados

Os números apresentados confirmam o que muitos já suspeitavam: o tidyverse realmente domina o ecossistema atual do R. Algumas conclusões importantes:

Dominância consolidada

  • Mais de 1 em cada 3 pacotes no CRAN dependem de algum pacote do tidyverse
  • Entre os pacotes publicados recentemente, essa proporção chega a 40%
  • ggplot2 e dplyr lideram como os pacotes mais utilizados como dependências

Crescimento consistente

O crescimento não foi um fenômeno pontual, mas uma tendência consistente ao longo dos anos. Isso sugere que:

  • A adoção do tidyverse continua crescendo
  • Novos desenvolveurs preferem a abordagem tidyverse
  • A comunidade como um todo está convergindo para essa filosofia

Implicações práticas

Estes dados têm implicações importantes para quem está aprendendo R.

  1. Comunidade: uma fatia significativa dos pacotes espera que você conheça o tidyverse.

  2. Relevância no mercado: conhecer o tidyverse se torna cada vez mais sinônimo de conhecer “R”. Vagas ou trabalhos que exigem conhecimento de R implicitamente assumem conhecimento de tidyverse.

  3. Relevância no mercado: Conhecer tidyverse não é mais opcional - é essencial

  4. Compatibilidade: a maioria dos pacotes novos já espera que você conheça tidyverse

  5. Comunidade: você estará falando a “língua” da maioria da comunidade R atual

Uma ressalva importante

Números altos não significam necessariamente que tidyverse é “melhor” - apenas que é mais popular. Como discutimos nos posts anteriores da série, tanto tidyverse quanto base-R têm seu lugar no ecossistema.


Posts Relacionados

  1. Aprendendo R pelo tidyverse é a melhor escolha? (Post 1)
  2. A filosofia por trás do tidyverse (Post 2)

Mini-cursos relacionados

Para iniciantes:

Gostou do post? Compartilhe com outros que estão aprendendo R e deixe seus comentários sobre quais tópicos gostaria de ver abordados nas próximas séries!

Footnotes

  1. O pacote ggforce, por exemplo, depends do ggplot2. Isto significa que library(ggforce) automaticamente carrega o pacote ggplot2.↩︎

  2. Em geral, os pacotes sugeridos (suggests) são listados para os desenvolvedores do pacote ou utilizados para testes e exemplos. Você provavelmente já deve ter visto algum exemplo que começa com: if (require("pacote")) { … }. O pacote nnet, por exemplo, não depende nem importa outros pacotes, mas utiliza o pacote MASS em seus exemplos; assim, o pacote nnet suggests o pacote MASS. Também existem casos onde um pacote tem mais capacidades ou melhor performance quando os pacotes sugeridos estão instalados; nestes casos, recomenda-se instalar o pacote com install.packages(dependencies = TRUE)`.↩︎