Esse exercício é adaptado de Alison Presmanes Hill.
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.
<- babynames %>%
maxwel filter(name == "Maxwel" | name == "Maxwell") %>% # variantes de nome
filter(sex == "M") # sexo F ou M
A linha do código faz um novo conjunto de dados chamado maxwel que é uma cópia do conjunto de dados babynames - o %>%
diz que estamos fazendo outras coisas nele mais tarde.
A segunda linha do código filtra nossos babynames para manter apenas as linhas em que o nome seja Maxwel ou Maxwell (leia | como “ou”).
A terceira linha do código aplica outro filtro para manter apenas aqueles em que o sexo é masculino.
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!
<- ggplot(maxwel, aes(x = year,
plot y = prop,
group = name,
color = name)) +
geom_line()
plot
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.
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!