Esse exercício é adaptado de Alison Presmanes Hill.

1 Faça uma figura de nome

Abra um novo R script no RStudio indo para File -> New File -> R Script. Para esta primeira incursão em R, vou dar-lhe o código, então sente-se e relaxe e fique à vontade para copiar e colar meu código com alguns pequenos ajustes.

Primeiro carregue os pacotes:

library(babynames) # contem os dados
library(dplyr) # para manipular os dados
library(ggplot2) # para plotar os dados

A seguir, seguiremos as práticas recomendadas para inspecionar um conjunto de dados recém-lido. Aqui estão alguns comandos essenciais para obter uma visão geral de seu conjunto de dados recém-lido em R.

glimpse(babynames) #dplyr
## Rows: 1,924,665
## Columns: 5
## $ year <dbl> 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880,…
## $ sex  <chr> "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", …
## $ name <chr> "Mary", "Anna", "Emma", "Elizabeth", "Minnie", "Margaret", "Ida",…
## $ n    <int> 7065, 2604, 2003, 1939, 1746, 1578, 1472, 1414, 1320, 1288, 1258,…
## $ prop <dbl> 0.07238359, 0.02667896, 0.02052149, 0.01986579, 0.01788843, 0.016…
head(babynames) # base R
## # A tibble: 6 x 5
##    year sex   name          n   prop
##   <dbl> <chr> <chr>     <int>  <dbl>
## 1  1880 F     Mary       7065 0.0724
## 2  1880 F     Anna       2604 0.0267
## 3  1880 F     Emma       2003 0.0205
## 4  1880 F     Elizabeth  1939 0.0199
## 5  1880 F     Minnie     1746 0.0179
## 6  1880 F     Margaret   1578 0.0162
tail(babynames) # same
## # A tibble: 6 x 5
##    year sex   name       n       prop
##   <dbl> <chr> <chr>  <int>      <dbl>
## 1  2017 M     Zyhier     5 0.00000255
## 2  2017 M     Zykai      5 0.00000255
## 3  2017 M     Zykeem     5 0.00000255
## 4  2017 M     Zylin      5 0.00000255
## 5  2017 M     Zylis      5 0.00000255
## 6  2017 M     Zyrie      5 0.00000255

Se você fez o que precede e produziu uma saída de aparência que faça sentido, está pronto para a próxima parte. Use o código abaixo para criar um conjunto de dados chamado maxwel.

maxwel <- babynames %>%
  filter(name == "Maxwel" | name == "Maxwell") %>% # variantes de nome
  filter(sex == "M") # sexo F ou M
maxwel
## # A tibble: 161 x 5
##     year sex   name        n      prop
##    <dbl> <chr> <chr>   <int>     <dbl>
##  1  1880 M     Maxwell     9 0.0000760
##  2  1882 M     Maxwell     6 0.0000492
##  3  1883 M     Maxwell    10 0.0000889
##  4  1884 M     Maxwell     8 0.0000652
##  5  1885 M     Maxwell     8 0.000069 
##  6  1886 M     Maxwell     6 0.0000504
##  7  1887 M     Maxwell     7 0.0000640
##  8  1888 M     Maxwell     7 0.0000539
##  9  1889 M     Maxwell    11 0.0000924
## 10  1890 M     Maxwell    15 0.000125 
## # … with 151 more rows
glimpse(maxwel)
## Rows: 161
## Columns: 5
## $ year <dbl> 1880, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891,…
## $ sex  <chr> "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", …
## $ name <chr> "Maxwell", "Maxwell", "Maxwell", "Maxwell", "Maxwell", "Maxwell",…
## $ n    <int> 9, 6, 10, 8, 8, 6, 7, 7, 11, 15, 7, 10, 13, 8, 13, 16, 21, 16, 12…
## $ prop <dbl> 0.00007601, 0.00004917, 0.00008891, 0.00006518, 0.00006900, 0.000…

Novamente, se os códigos acima tiver sendo executados, prossiga para plotar os dados!

plot <- ggplot(maxwel, aes(x = year, 
                           y = prop,  
                           group = name, 
                           color = name)) + 
  geom_line()  
plot

2 Sua vez

Edite meu código acima para criar um novo conjunto de dados. Escolha 2 nomes para comparar a popularidade de cada um (podem ser grafias diferentes do seu próprio nome, como eu fiz, mas você pode escolher quaisquer 2 nomes que estejam presentes no conjunto de dados). Faça o novo gráfico, alterando o nome do primeiro argumento maxwel em ggplot() para o nome do seu novo conjunto de dados.

2.1 Salvar e compartilhar

Salve seu trabalho para que você possa compartilhar seu gráfico. Você não gostará da aparência de seu gráfico se passar o mouse sobre Export e salvá-lo. Em vez disso, use o comando ggplot2 para salvar um gráfico com padrões razoáveis:

help(ggsave)
ggsave("maxwel_oliveira.pdf", plot) # mude o nome da figura!