Bases de dados: para praticar e ensinar

Quer saber como acessar várias bases de dados com R? Imagem: por Allison Horst.

Tutorial
Teaching
Datasets
Data import
Autores

Beatriz Milz

Tereza Lacerda

Data de Publicação

11 de junho de 2022

Dica

Esse post foi origalmente publicado no blog da Curso-R. Ilustração usada na imagem por Allison Horst.

Introdução

Neste post, listamos alguns lugares onde encontrar bases de dados interessantes para quem está aprendendo e quer praticar com novas bases, e também para quem quer ensinar R e procura bases de dados para criar exemplos!

O post será separado em: bases em português (sejam elas traduzidas ou originais), e em inglês.

Bases de dados em Português

Pacote dados

O pacote está disponível no CRAN e pode ser instalado utilizando o seguinte código:

Escrevemos um post recentemente focado neste pacote, então recomendamos checar lá! Para acessar as bases de dados, utilize a função library(dados) ou use com dados::nome_da_base. Por exemplo:

library(dados)
dplyr::glimpse(dados::pixar_filmes)
## Rows: 27
## Columns: 5
## $ ordem_lancamento         <chr> "1", "2", "3", "4", "5", "6", "7", "8", "9", …
## $ filme                    <chr> "Toy Story - Um Mundo de Aventuras", "Vida de…
## $ data_lancamento          <date> 1995-11-22, 1998-11-25, 1999-11-24, 2001-11-…
## $ duracao                  <dbl> 81, 95, 92, 92, 100, 115, 117, 111, 98, 96, 1…
## $ classificacao_indicativa <chr> "Livre", "Livre", "Livre", "Livre", "Livre", …

Base dos dados

A Base dos Dados é um projeto super interessante. Lá, são disponibilizadas diversas bases públicas, e várias delas já estão tratadas, como: Relação Anual de Informações Sociais (RAIS), Índice de Desenvolvimento da Educação Básica (Ideb), Censo Demográfico, entre outros!

Consulte as bases tratadas neste link.

Os dados são disponibilizados em um BigQuery, portanto o acesso tem algumas etapas a mais. Recomendamos olhar os seguintes links:

Pacote de bases usadas em cursos da Curso-R

Algumas bases de dados foram traduzidas por pessoas da Curso-R, e disponibilizadas nesse pacote para serem usadas nos cursos. Esse pacote não está disponível no CRAN, então caso queira instalar, utilize os seguintes comandos:

install.packages("devtools")
devtools::install_github("curso-r/basesCursoR")

Para verificar quais são as bases disponíveis no pacote, utilize a seguinte função: basesCursoR::bases_disponiveis().

basesCursoR::bases_disponiveis()
##  [1] "adult"           "airbnb_rj"       "ames"            "cetesb"         
##  [5] "covid"           "credito"         "imdb_avaliacoes" "imdb_completa"  
##  [9] "imdb_pessoas"    "imdb_top_cast"   "imdb"            "pokemon"        
## [13] "ssp"

Para carregar alguma base do pacote, utilize a função basesCursoR::pegar_base("nome_da_base"), por exemplo:

pokemon <- basesCursoR::pegar_base("pokemon")
dplyr::glimpse(pokemon)
## Rows: 949
## Columns: 20
## $ id              <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,…
## $ id_especie      <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,…
## $ id_geracao      <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
## $ pokemon         <chr> "bulbasaur", "ivysaur", "venusaur", "charmander", "cha…
## $ altura          <dbl> 0.7, 1.0, 2.0, 0.6, 1.1, 1.7, 0.5, 1.0, 1.6, 0.3, 0.7,…
## $ peso            <dbl> 6.9, 13.0, 100.0, 8.5, 19.0, 90.5, 9.0, 22.5, 85.5, 2.…
## $ exp_base        <dbl> 64, 142, 236, 62, 142, 240, 63, 142, 239, 39, 72, 178,…
## $ tipo_1          <chr> "grama", "grama", "grama", "fogo", "fogo", "fogo", "ág…
## $ tipo_2          <chr> "venenoso", "venenoso", "venenoso", NA, NA, "voador", …
## $ hp              <dbl> 45, 60, 80, 39, 58, 78, 44, 59, 79, 45, 50, 60, 40, 45…
## $ ataque          <dbl> 49, 62, 82, 52, 64, 84, 48, 63, 83, 30, 20, 45, 35, 25…
## $ defesa          <dbl> 49, 63, 83, 43, 58, 78, 65, 80, 100, 35, 55, 50, 30, 5…
## $ ataque_especial <dbl> 65, 80, 100, 60, 80, 109, 50, 65, 85, 20, 25, 90, 20, …
## $ defesa_especial <dbl> 65, 80, 100, 50, 65, 85, 64, 80, 105, 20, 25, 80, 20, …
## $ velocidade      <dbl> 45, 60, 80, 65, 80, 100, 43, 58, 78, 45, 30, 70, 50, 3…
## $ cor_1           <chr> "#78C850", "#78C850", "#78C850", "#F08030", "#F08030",…
## $ cor_2           <chr> "#A040A0", "#A040A0", "#A040A0", NA, NA, "#A890F0", NA…
## $ cor_final       <chr> "#81A763", "#81A763", "#81A763", NA, NA, "#DE835E", NA…
## $ url_imagem      <chr> "https://raw.githubusercontent.com/phalt/pokeapi/maste…
## $ url_icone       <chr> "//cdn.bulbagarden.net/upload/e/ec/001MS.png", "//cdn.…

Bases de dados em Inglês

Bases do tidytuesday

O tidytuesday é um projeto bem legal da comunidade de R! Toda semana é disponibilizada uma base de dados. QUALQUER pessoa que queira participar pode participar, fazendo uma visualização com a base disponibilizada!

Um lugar legal para ver as visualizações criadas pelas pessoas é no twitter, pesquisando a hashtag #tidytuesday.

É possível consultar a lista de bases de dados neste link: tidytuesday datasets. Ao entrar na página de uma base de dados, o código para carregar a mesma é mostrado. Por exemplo: para usar os dados de Jogos de tabuleiro, podemos usar o seguinte código:

jogos_ratings <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2022/2022-01-25/ratings.csv')

dplyr::glimpse(jogos_ratings)
## Rows: 21,831
## Columns: 10
## $ num           <dbl> 105, 189, 428, 72, 103, 191, 100, 3, 15, 35, 30, 182, 13…
## $ id            <dbl> 30549, 822, 13, 68448, 36218, 9209, 178900, 167791, 1733…
## $ name          <chr> "Pandemic", "Carcassonne", "Catan", "7 Wonders", "Domini…
## $ year          <dbl> 2008, 2000, 1995, 2010, 2008, 2004, 2015, 2016, 2015, 20…
## $ rank          <dbl> 106, 190, 429, 73, 104, 192, 101, 4, 16, 36, 31, 183, 14…
## $ average       <dbl> 7.59, 7.42, 7.14, 7.74, 7.61, 7.41, 7.60, 8.42, 8.11, 7.…
## $ bayes_average <dbl> 7.487, 7.309, 6.970, 7.634, 7.499, 7.305, 7.508, 8.274, …
## $ users_rated   <dbl> 108975, 108738, 108024, 89982, 81561, 76171, 74419, 7421…
## $ url           <chr> "/boardgame/30549/pandemic", "/boardgame/822/carcassonne…
## $ thumbnail     <chr> "https://cf.geekdo-images.com/S3ybV1LAp-8SnHIXLLjVqA__mi…

Pacote ISLR

O pacote ISLR acompanha o livro Introduction to Statistical Learning (disponível gratuitamente aqui). Apresenta bases de dados interessantes para treinar modelagem, acompanhando os exemplos do livro.

Você pode instalar o pacote através do CRAN, usando a função install.packages():

Essas são as bases de dados disponíveis no pacote, que podem ser acessadas utilizando a função library(ISLR) ou use com ISLR::nome_da_base. :

Nome Descrição
Auto Auto Data Set
Caravan The Insurance Company (TIC) Benchmark
Carseats Sales of Child Car Seats
College U.S. News and World Report's College Data
Credit Credit Card Balance Data
Default Credit Card Default Data
Hitters Baseball Data
Khan Khan Gene Data
NCI60 NCI 60 Data
OJ Orange Juice Data
Portfolio Portfolio Data
Smarket S&P Stock Market Data
Wage Mid-Atlantic Wage Data
Weekly Weekly S&P Stock Market Data

Kaggle

O Kaggle é uma plataforma onde é possível participar de competições de Machine Learning!

Por lá, também estão disponíveis diversas bases de dados, na página de datasets. Um ponto importante para citar é que qualquer pessoa consegue fazer upload de uma base lá no Kaggle, então pesquise com calma e veja as bases mais bem avaliadas no tema que você quer explorar! Depois que escolher, é possível baixar a base de dados e importar para o R.

Conclusão

Esperamos que este post seja interessante para quem está aprendendo e quer praticar com novas bases, e também para quem quer ensinar R e procura bases de dados para criar exemplos! Bons estudos e até a próxima!