Lista 4 - PEX801 - Gabriel Peixoto
Lista de comandos Gráficos
Questão 1) Obtenha um gráfico de dispersão usando o conjunto de dados “Pumpkin”, disponível no Campus Virtual:
## # A tibble: 5 × 2
## Circumference Weight
## <dbl> <dbl>
## 1 50 1200
## 2 55 2000
## 3 54 1500
## 4 52 1700
## 5 37 500
A) Considerando gráficos básicos do R.
Por meio da função básica.
attach(pumpkin)
plot(Circumference,Weight, col = "red",xlim = c(25,80) , ylim = c(500,3300), title = "p",title("Gráfico de Disperção entre Circuferência e Peso de Aboboras"), xlab = "Circuferência", ylab = "Peso" )## Warning in plot.window(...): "title" não é um parâmetro gráfico
## Warning in plot.xy(xy, type, ...): "title" não é um parâmetro gráfico
## Warning in axis(side = side, at = at, labels = labels, ...): "title" não é um
## parâmetro gráfico
## Warning in axis(side = side, at = at, labels = labels, ...): "title" não é um
## parâmetro gráfico
## Warning in box(...): "title" não é um parâmetro gráfico
## Warning in title(...): "title" não é um parâmetro gráfico
O comando por meio das funções básicas do R.
Questão 2) Considerando o capítulo 1 Data visualization do livro WICKHAM, ÇETINKAYA RUNDEL and GROLEMUND (2023), faça os seguintes exercícios:
A) Exercício 8 do item 1.2.5 Exercises.
Recrie a visualização a seguir. Para qual atributo estético profundidade_bico deve ser mapeada? E ela deve ser mapeada no nível global ou no nível da geometria?
Recriando o gráfico:
#attach(penguins2)
#names(penguins2)
ggplot(data = penguins2 ,
mapping = aes(flipper_length_mm,body_mass_g)) +
geom_point(aes(color = bill_depth_mm), size = 2, alpha = 4) +
geom_smooth(aes(color = bill_depth_mm), se = T, method = loess) +
labs(x = "Tamanho da Nadadeira (mm)", y = "Massa Corporal (g)", title = "Gráfico de Disperção do Tamanho da Nadadeira por Massa corporal(g) dos Pinguins")+
theme_gray()## `geom_smooth()` using formula = 'y ~ x'
## Warning: The following aesthetics were dropped during statistical transformation:
## colour.
## ℹ This can happen when ggplot fails to infer the correct grouping structure in
## the data.
## ℹ Did you forget to specify a `group` aesthetic or to convert a numerical
## variable into a factor?
B) Faça um gráfico de barras de especie de pinguins, no qual você atribui especie ao atributo estético y. Como esse gráfico é diferente?
Temos que ao fazermos o gráfico de barras horizontais (com o atributo de
interesse a ser avaliado no eixo Y, temos a inversão dos eixos com a
contagem partindo para o Eixo X), diferentemente do Gráfico de barras
verticais.
C) Faça um histograma da variável quilate no conjunto de dados diamante que está disponível quando você carrega o pacote dados. Faça experiências com diferentes larguras de intervalo (binwidth). Qual largura de intervalo revela os padrões mais interessantes?
df = diamonds
attach(df)
## bin = 0.1
p1 = ggplot(df) +
geom_histogram(aes(x = carat), binwidth = 0.1,color="white", fill = "green")+
theme_grey()
## bin = 0.5
p2= ggplot(df) +
geom_histogram(aes(x = carat), binwidth = 0.5, fill = "green", color = "white")+
theme_grey()
## bin = 1
p3 = ggplot(df) +
geom_histogram(aes(x = carat), binwidth = 1 ,color = "white", fill = "green")+
theme_grey()
## bin = 2
p4 = ggplot(df) +
geom_histogram(aes(x = carat), binwidth = 2,color = "white", fill = "green")+
theme_grey()
grid.arrange(p1,p2,p3,p4, ncol = 2, nrow = 2, top = "Histogramas para diferentes níveis de binwidth")
Diante dos diferentes níveis de binwidth, temos que o aparente melhor
para nossa visualização se dá pelo
binwidth = 0.1, pois o
mesmo permite que visualizemos a distribuição dos dados de maneira mais
suavizada.
D) Faça um gráfico de dispersão de rodovia (Milhas rodoviárias por
galão) em função de cilindrada usando o data frame milhas. Em seguida,
mapeie uma terceira variável numérica para color (cor),
depois size (tamanho), depois igualmente para
color e size e, por fim, shape
(forma). Como esses atributos estéticos se comportam de forma diferente
para variáveis categóricas e numéricas?
## O seguinte objeto é mascarado por penguins2:
##
## year
p1 = ggplot(data = mpg, aes(x= hwy, y = displ)) +
geom_point(aes(color = cyl))
p2 = ggplot(data = mpg, aes(x= hwy, y = displ)) +
geom_point(aes(size = cyl))
p3 = ggplot(data = mpg, aes(x= hwy, y = displ)) +
geom_point(aes(color = cyl, size = cyl))
p4 = ggplot(data = mpg, aes(x= hwy, y = displ)) +
geom_point(aes(shape = as.factor(cyl)))
grid.arrange(p1,p2,p3,p4, nrow =2, ncol =2)Temos que ao adicionarmos as os mapeamentos por mais variáveis númericas as caracteristicas estéticas dos gráficos, obtemos mais condessação de informação no mesmo.
Entretanto, lidar com variáveis númericas nesses mapeamentos pode não ser o ideal devido ao tamanho das amplitudes dessas. Podendo poluir o gráfico e trazer o efeito contrário.
Para o atributo shape, não é possível mapear variáveis contíuas no mesmo, foi necessário transformarmos em fator para após isso rodar o gráfico.
E) Faça um gráfico de dispersão de profundidade_bico vs. comprimento_bico e pinte os pontos por especie. O que a adição da coloração por especie revela sobre a relação entre essas duas variáveis? E quanto à separação em facetas por especie?
ggplot(data = penguins2, aes(x = bill_depth_mm, y = bill_length_mm, color = species)) +
geom_point() +
labs( title = "Profundidade do bico (mm) x Tamanho do bico (mm) dos pinguins", x = "Profundidade do bico", y = "Tamanho do bico", colour = "species", caption = "Segregação de cores em função das especies") +
theme_light()
A especie
Gentoo é uma especie que tem profundidade de bico
menor, porém com maior tamanho.
Para a especie Chinstrap que possui grande profundidade
e comprimento de bico.
Para a especie Adelie, a mesma possui um baixo tamanho
de bico, porém com grande profundiade.
Dividindo o gráfico em facetas considerando as especies. Temos:
ggplot(data = penguins2, aes(x = bill_depth_mm, y = bill_length_mm, color = species)) +
geom_point() +
labs( title = "Profundidade do bico (mm) x Tamanho do bico (mm) dos pinguins", x = "Profundidade do bico", y = "Tamanho do bico") +
facet_grid(~species) +
theme_light()
Quando dividimos em facetas, podemos perceber de forma mais evidente
diferença da especie
Adelie em relação as demais. As
especieis Chinstrap e Gentoo, possui
individuos com tamanho de bico que compartilham similaridades entre
eles, porém, isso não corre com a Adelie.
Questão 3) Considerando o capítulo 9 Layers do livro WICKHAM, ÇETINKAYA-RUNDEL and GROLEMUND (2023), faça os seguintes exercícios:
A) Crie um gráfico de dispersão de rodovia vs. cilindrada no qual os pontos sejam triângulos preenchidos em cor-de-rosa (pink).
ggplot(data = mpg) +
geom_point(aes(x = hwy, y = displ, color = "pink"),
shape = 17, size =3) +
labs(
title = "Gráfico de dispersão: Consumo na Rodovia X Tamanho do motor (l)",
x = "Consumo na Rodovia (Mpg)",
y = "Tamanho do motor (l)")B) Recrie o código em R necessário para gerar os gráficos abaixo. Observe que sempre que uma variável categórica é utilizada no gráfico, trata-se da variável tracao.
p1 = ggplot(data = mpg, aes(x = displ, y = hwy)) +
geom_point() +
geom_smooth(se = F)
p2 = ggplot(data = mpg, aes(x = displ, y = hwy, fill = drv)) +
geom_point() +
geom_smooth(se = F)
p3 = ggplot(data = mpg, aes(x = displ, y = hwy, fill = drv, color = drv)) +
geom_point() +
geom_smooth(se = F)
p4 = ggplot(data = mpg, aes(x = displ, y = hwy)) +
geom_point(aes(color = drv)) +
geom_smooth(se = F)
p5 = ggplot(data = mpg, aes(x = displ, y = hwy)) +
geom_point(aes(color = drv)) +
geom_smooth(aes(linetype = drv) ,se = F)
p6 = ggplot(data = mpg, aes(x = displ, y = hwy)) +
geom_point(color = "white", size = 4, alpha =1) +
geom_point(aes(color = drv , fill = drv), shape = 21, color = "white", size = 2 )
grid.arrange(p1,p2,p3,p4,p5,p6, nrow =3, ncol = 2)## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
C) Observe o primeiro gráfico criado por faceta abaixo e conclua: Quais são as vantagens de usar facetas ao invés do atributo estético color? Quais são as desvantagens? Como essas vantagens e desvantagens mudariam se você tivesse uma base de dados maior?
ggplot(mpg) +
geom_point(aes(x = cyl, y = hwy), color = "blue") +
facet_wrap(~ class, nrow = 2) +
theme_light()
A principal vantagem de “facertarmos” o nosso gráfico é a rápida
visualização do mesmo. Caso tenhamos feito o processo de StoryTelling
corretamente, declarando no titulo o objetivo do gráfico a ser
apresentado, o leitor rapidamente consegue identificar as informações
que desejamos passar.
Além do quê, é possível ter uma visão especifica para cada classe ou até mesmo combinações de facetas que desejamos colocar. Entrentando, a medida que vamos adicionando mais facetas, pode ser que a compreensão do gráfico fique prejudicada.
Fazendo por cores:
Por cores nos temos um visual mais limpo e conseguimos apresentar a
informação em um gráfico único tornando a visualização mais simples,
porém, caso tenhamos muitas classes como é o caso da nossa base de
dados, a visualização torna-se
suja, prejudicando ao leitor
o acesso a informação. Fazendo com o que o mesmo tenha que ficar indo e
voltando na legenda para entender o que esta sendo apresentado ao
memo.
Conclusões gerais.
Temos que para o gráfico facetado, torna a visualização mais rápida e especifica para a classe que estamos observando. Para a classe estruturada nas cores, temos que, com base mais classes chegam mais complicado fica para termos essa visualização, inclusive com a possibilidade de pontos sobre postos. Algo que o gráfico facetado pode contornar, com a penalidade do aumento do tamanho do gráfico ou redução do mesmo.