Uma Introdução - Encontro 2
there is no package called 'tidyverse'
penguins
penguins
: 344 casos/observaçõespenguins
tibble
# A tibble: 344 × 8
species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g
<fct> <fct> <dbl> <dbl> <int> <int>
1 Adelie Torgersen 39.1 18.7 181 3750
2 Adelie Torgersen 39.5 17.4 186 3800
3 Adelie Torgersen 40.3 18 195 3250
4 Adelie Torgersen NA NA NA NA
5 Adelie Torgersen 36.7 19.3 193 3450
6 Adelie Torgersen 39.3 20.6 190 3650
7 Adelie Torgersen 38.9 17.8 181 3625
8 Adelie Torgersen 39.2 19.6 195 4675
9 Adelie Torgersen 34.1 18.1 193 3475
10 Adelie Torgersen 42 20.2 190 4250
# ℹ 334 more rows
# ℹ 2 more variables: sex <fct>, year <int>
Rows: 344
Columns: 8
$ species <fct> Adelie, Adelie, Adelie, Adelie, Adelie, Adelie, Adel…
$ island <fct> Torgersen, Torgersen, Torgersen, Torgersen, Torgerse…
$ bill_length_mm <dbl> 39.1, 39.5, 40.3, NA, 36.7, 39.3, 38.9, 39.2, 34.1, …
$ bill_depth_mm <dbl> 18.7, 17.4, 18.0, NA, 19.3, 20.6, 17.8, 19.6, 18.1, …
$ flipper_length_mm <int> 181, 186, 195, NA, 193, 190, 181, 195, 193, 190, 186…
$ body_mass_g <int> 3750, 3800, 3250, NA, 3450, 3650, 3625, 4675, 3475, …
$ sex <fct> male, female, female, NA, female, male, female, male…
$ year <int> 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007…
penguins
species
: uma espécie de pinguim (Adelie, Chinstrap ou Gentoo)flipper_length_mm
:comprimento da nadadeira de um pinguim, em milímetrosbody_mass_g
:massa corporal de um pinguim, em gramasPara saber mais sobre o banco de dados:
data
mapping
e aes
(aesthetics - estética)
geom_
geom_bar()
geom_line()
geom_boxplot()
geom_point()
geom_point()
Removed 2 rows containing missing values (
geom_point()
).
shape
ggplot(data = penguins,
mapping = aes(x = flipper_length_mm,
y = body_mass_g)) +
geom_point(aes(color = species,
shape = species)) +
geom_smooth(method = "lm") +
labs(title = "Massa corporal e comprimento da nadadeira",
subtitle = "Dimensões para Adelie, Chinstrap e Gentoo",
x = "Comprimento da nadadeira (mm)",
y = "Massa corporal (g)",
color = "Espécie",
shape = "Espécie")
ggplot(data = penguins,
mapping = aes(x = flipper_length_mm,
y = body_mass_g)) +
geom_point(aes(color = species,
shape = species)) +
geom_smooth(method = "lm") +
labs(title = "Massa corporal e comprimento da nadadeira",
subtitle = "Dimensões para Adelie, Chinstrap e Gentoo",
x = "Comprimento da nadadeira (mm)",
y = "Massa corporal (g)",
color = "Espécie",
shape = "Espécie") +
scale_color_colorblind()
Qual o número de linhas no banco de dados dos penguins
? Quantas colunas?
Rows: 344
Columns: 8
$ species <fct> Adelie, Adelie, Adelie, Adelie, Adelie, Adelie, Adel…
$ island <fct> Torgersen, Torgersen, Torgersen, Torgersen, Torgerse…
$ bill_length_mm <dbl> 39.1, 39.5, 40.3, NA, 36.7, 39.3, 38.9, 39.2, 34.1, …
$ bill_depth_mm <dbl> 18.7, 17.4, 18.0, NA, 19.3, 20.6, 17.8, 19.6, 18.1, …
$ flipper_length_mm <int> 181, 186, 195, NA, 193, 190, 181, 195, 193, 190, 186…
$ body_mass_g <int> 3750, 3800, 3250, NA, 3450, 3650, 3625, 4675, 3475, …
$ sex <fct> male, female, female, NA, female, male, female, male…
$ year <int> 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007…
Faça um gráfico de dispersão de bill_depth_mm
vs. bill_length_mm
. Ou seja, faça um gráfico de dispersão com bill_depth_mm
no eixo y e bill_length_mm
no eixo x. Descreva a relação entre essas duas variáveis.
bill = bico
O que acontece se você fizer um gráfico de dispersão de species
versus bill_depth_mm
? O que poderia ser uma melhor escolha de geom?
Recrie a seguinte visualização. Para qual estética o bill_depth_mm deve ser mapeado? E deve ser mapeado no nível global ou no nível geom?
data
mapping(aes(x = ... , y = ...)
geom_bar()
)Altura das barras: número de observações em cada valor de x
geom_bar()
): variáveis ordendas pela frequênciageom_bar()
): proporçõesgeom_histogram()
)geom_histogram()
)geom_histogram()
): binwidth()
Faça um gráfico de barras das espécies (species
) de pinguins, onde você atribui espécies (species
) ao eixo y. Como esse gráfico é diferente?
Em que os dois gráficos a seguir são diferentes? Qual estética, cor ou preenchimento, é mais útil para mudar a cor das barras?
Faça um histograma da variável quilate (carat
) no conjunto de dados de diamonds
(diamantes) que está disponível quando você carrega o pacote tidyverse. Experimente diferentes larguras de caixa (bin
). Qual largura de bin
revela os padrões mais interessantes?
geom_boxplot()
)
geom_boxplot()
)geom_boxplot()
)island
) e espécie (species
)
penguins |>
group_by(island, species) |>
summarise(n = n()) |>
pivot_wider(names_from = species,
values_from = n) |>
rowwise() |>
mutate(total_island = sum(c_across(Adelie:Chinstrap),na.rm = T)) |>
ungroup() |>
kable() |>
kable_minimal()
island | Adelie | Gentoo | Chinstrap | total_island |
---|---|---|---|---|
Biscoe | 44 | 124 | NA | 168 |
Dream | 56 | NA | 68 | 124 |
Torgersen | 52 | NA | NA | 52 |
position = "fill"
position = "dodge"
geom_point()
geom_smooth()
color
= espécies (species
)shape
= ilhas (island
)facet_
O banco de dados mpg
que acompanha o pacote ggplot2 contém 234 observações coletadas pela Agência de Proteção Ambiental dos EUA em 38 modelos de carros. Quais variáveis em mpg são categóricas? Quais variáveis são numéricas? (Dica: digite ?mpg
para ler a documentação do banco de dados.) Como você pode ver essas informações ao executar mpg
?
Rows: 234
Columns: 11
$ manufacturer <chr> "audi", "audi", "audi", "audi", "audi", "audi", "audi", "…
$ model <chr> "a4", "a4", "a4", "a4", "a4", "a4", "a4", "a4 quattro", "…
$ displ <dbl> 1.8, 1.8, 2.0, 2.0, 2.8, 2.8, 3.1, 1.8, 1.8, 2.0, 2.0, 2.…
$ year <int> 1999, 1999, 2008, 2008, 1999, 1999, 2008, 1999, 1999, 200…
$ cyl <int> 4, 4, 4, 4, 6, 6, 6, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 8, 8, …
$ trans <chr> "auto(l5)", "manual(m5)", "manual(m6)", "auto(av)", "auto…
$ drv <chr> "f", "f", "f", "f", "f", "f", "f", "4", "4", "4", "4", "4…
$ cty <int> 18, 21, 20, 21, 16, 18, 18, 18, 16, 20, 19, 15, 17, 17, 1…
$ hwy <int> 29, 29, 31, 30, 26, 26, 27, 26, 25, 28, 27, 25, 25, 25, 2…
$ fl <chr> "p", "p", "p", "p", "p", "p", "p", "p", "p", "p", "p", "p…
$ class <chr> "compact", "compact", "compact", "compact", "compact", "c…
Faça um gráfico de dispersão de hwy vs. displ usando o banco de dados mpg Em seguida, mapeie uma terceira variável numérica para color
, depois para size
, então para color
e size
ao mesmo tempo, então para shape.
Como essas estéticas se comportam de maneira diferente para variáveis categóricas e numéricas?
Error in
geom_point()
: ! Problem while computing aesthetics. ℹ Error occurred in the 2nd layer. Caused by error inscale_f()
: ! A continuous variable cannot be mapped to the shape aesthetic ℹ choose a different aesthetic or usescale_shape_binned()
Runrlang::last_error()
to see where the error occurred.
O que acontece se você mapear a mesma variável para várias estéticas?
Faça um gráfico de dispersão de bill_depth_mm vs. bill_length_mm. Você deve colorir os pontos por espécies. O que a adição de coloração por espécie revela sobre a relação entre essas duas variáveis? Que tal facetar por espécie?
ggsave()
getwd()
width
(largura) e height
?ggsave()
O código e as imagens utilizados para a construção desse slide estão disponíveis no link a seguir:
https://github.com/pablo-huascar/curso_r