Execício 3

Author

Aline Fonseca

Published

October 10, 2024

Exercício 3 - Visualização de dados - Dplyr

Carregando a tabela e carregando pacotes

eggs <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2023/2023-04-11/egg-production.csv')
Rows: 220 Columns: 6
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr  (3): prod_type, prod_process, source
dbl  (2): n_hens, n_eggs
date (1): observed_month

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.4     ✔ readr     2.1.5
✔ forcats   1.0.0     ✔ stringr   1.5.1
✔ ggplot2   3.5.1     ✔ tibble    3.2.1
✔ lubridate 1.9.3     ✔ tidyr     1.3.1
✔ purrr     1.0.2     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggsci)
library(knitr)
library(kableExtra)

Anexando pacote: 'kableExtra'

O seguinte objeto é mascarado por 'package:dplyr':

    group_rows
library(tinytex)
library(ggplot2)
library(dplyr)
library(RColorBrewer)

eggs_divide <- mutate(eggs, n_hens = n_hens)

Evolução do número de ovos de galinhas criadas livres (orgânicas e não-orgânicas) ao longo dos anos

sep <- eggs_divide %>% separate(observed_month, into = c("Ano", "Mes", "Dia"), sep = "-")

sel <- filter(sep, prod_type != "hatching eggs", prod_process != "all")
  
prod_ovos <- ggplot(sel, aes(x=n_eggs, y=n_hens))+
  geom_smooth(method = "lm")+
  geom_point(aes(color=Ano))
prod_ovos
`geom_smooth()` using formula = 'y ~ x'

#### Fazendo com a Marina

ggplot(sel, aes(x= Ano, y= n_hens, fill= prod_process))+
  geom_boxplot()+
  facet_wrap(~prod_process, scales = "free")

galinha <- ggplot(data=filter(sep, prod_process!="all"),aes(x= Ano, y= n_hens, fill= prod_process))+
  geom_boxplot()+
  facet_wrap(~prod_process, scales = "free_y")+
  labs(title = "Number of hens", subtitle = "Per million", tag = "(A)")+
  scale_fill_brewer(palette = "YlOrBr")+
  theme_classic()+
  theme(axis.title = element_blank(), plot.background = element_rect(fill = "#F0E9AD", color = NA),
        strip.background = element_rect(fill = "#FFED3D"),
        panel.background = element_rect(fill = "#FAEF8F", color = "black"), legend.position = "none")
galinha

ovos <- ggplot(data=filter(sep, prod_process!="all"),aes(x= Ano, y= n_eggs/10000, fill= prod_process))+
  geom_boxplot()+
  facet_wrap(~prod_process, scales = "free_y")+
  labs(title = "Number of eggs", subtitle = "Per million", tag = "(B)")+
  scale_fill_brewer(palette = "YlOrBr")+
  theme_classic()+
  theme(axis.title = element_blank(), plot.background = element_rect(fill = "#F0E9AD", color = NA),
        strip.background = element_rect(fill = "#FFED3D"),
        panel.background = element_rect(fill = "#FAEF8F", color = "black"), legend.position = "none")

ovos

# essas últimas linhas são para por nome em cada um dos boxplot no gráfico

library(patchwork)

# esse é um pacote para a composição de gráficos

painel1 <- galinha/ovos #um acima do outro
painel1

painel2 <- galinha+ovos #um do lado do outro
painel2

#ggsave("opcao1.jpg", painel1, dpi = 200, units = "cm", width = 12, height = 12)

#ggsave("opcao2.pdf", painel2, units = "cm", width = 24, height = 9)

painel3 <- galinha/ovos + plot_annotation(title = "Produção de ovos nos Estados Unidos 2016-2021", subtitle = "Aumento expressivo de galinhas criadas livres", caption = "Plot for @TudyTuesday | By Aline Fonseca", theme=theme(plot.background = element_rect(fill = "#B2A374", color = NA), plot.title = element_text(color = "#FFED3D")))
painel3

#ggsave("opcao3.jpg", painel3, dpi = 200, width = 20, height = 20, unit = "cm")

Comparando a produtividade dos diferentes tipos de processos e dos diferentes tipos de produtos

razao <- sep %>% 
  mutate(produtividade = (n_hens/n_eggs))

# display.brewer.all()

prod_process <- ggplot(razao, aes(x=prod_type, y=produtividade, fill= prod_type))+
      geom_boxplot()+
  scale_fill_manual(values = c("lightblue", "aquamarine"))+
    labs(x="Tipo de produção", y="Produtividade",title="Figura 2",
         subtitle = "Produtividade entre os diferentes processos")

prod_process

# Fazendo com a Marina

# install.packages("ggridges")
library(ggridges)

ggplot(razao, aes(x= produtividade, y= prod_process, fill = prod_type, color= prod_type))+
  geom_density_ridges(alpha= 0.5)+
  scale_fill_manual(values = c("#F1EB17", "#F1172A"),
                    labels= c("Ovos de mesa","Ovos Incubabos"))+
  scale_color_manual(values = c("#F1EB17", "#F1172A"))+
  scale_y_discrete(labels = c(`cage-free (organic)`="Orgânico", `cage-free (non-organic)`="Não orgânico", all="Todos"))+
  scale_x_continuous(expand = c(0,0))+
  labs(title="Produtividade(ovos/galinha)", 
       subtitle = "Produção orgânica se equipara a produção não orgânica")+
  theme_ridges()+
  guides(color="none")+
  theme(axis.title = element_blank(), 
        legend.title = element_blank(),
        legend.position = c(0,0.9),
        panel.background = element_rect(fill = "#F5E3C7"),
          plot.background = element_rect(fill = "#F5E3C7"),
        panel.grid.major = element_line(color= "#FAA805"),
        linetype= "dashed", legend.backgroud = element_rect(fill = "#F5E3C7"))
Warning: A numeric `legend.position` argument in `theme()` was deprecated in ggplot2
3.5.0.
ℹ Please use the `legend.position.inside` argument of `theme()` instead.
Picking joint bandwidth of 0.000483
Warning in plot_theme(plot): The `linetype` theme element is not defined in the
element hierarchy.
Warning in plot_theme(plot): The `legend.backgroud` theme element is not
defined in the element hierarchy.

Comparando a produtividade entre os meses dos anos

prod_meses <- ggplot(razao, aes(x=produtividade, fill = Mes))+
  geom_density(alpha=0.4)+
  scale_y_continuous(expand = c(0,0))+
  labs(title="Figura 3",
         subtitle = "Produtividade entre os meses dos anos")
  prod_meses

#### Fazendo com a Marina

library(ggsci)
  
ax3 <- ggplot(razao, aes(x= Mes, y= produtividade, fill= prod_type))+
  geom_boxplot(alpha= 0.6, width= 0.4)+
  facet_wrap(~prod_process, ncol = 1, scale = "free_y")+
  theme_minimal()+
  scale_fill_uchicago()+
  labs(title="Produtividade (ovos/galinha)",
       subtitle = "Diminuição no mês de fevereiro",
       x="Mês", y="Produtividade (ovos/galinha)")+
  theme(legend.title = element_blank(), legend.position = "top",
        panel.background = element_rect(fill = "#E1DFDA"), color= NA,
        plot.background = element_rect(fill = "#E1DFDA"), color= NA)
ax3
Warning in plot_theme(plot): The `color` theme element is not defined in the
element hierarchy.

#ggsave("exerc3.jpg", ax3, dpi = 200, width = 12, height = 16, unit= "cm")

Faça um gráfico mostrando a relação linear entre o tamanho do pé e o peso dos roedores

etbilu <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2023/2023-05-02/species.csv')
Rows: 21 Columns: 15
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr  (4): species, scientificname, taxa, commonname
dbl (11): censustarget, unidentified, rodent, granivore, minhfl, meanhfl, ma...

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
reg_roedor <- ggplot(etbilu, aes(x=meanhfl, y=meanwgt))+
  geom_smooth(method = "lm")+
  geom_point()+
  labs(x="Tamanho do pé", y="Peso",title="Regressão linear",
         subtitle = "Comparando a média do tamanho do pé e peso dos roedores")

reg_roedor
`geom_smooth()` using formula = 'y ~ x'

#### Fazendo com a Marina

summary(lm(meanwgt~meanhfl, data = etbilu))

Call:
lm(formula = meanwgt ~ meanhfl, data = etbilu)

Residuals:
    Min      1Q  Median      3Q     Max 
-37.816 -13.513  -4.370   3.438  94.332 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -42.4744    18.0311  -2.356   0.0294 *  
meanhfl       3.4505     0.7045   4.897    1e-04 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 27.16 on 19 degrees of freedom
Multiple R-squared:  0.558, Adjusted R-squared:  0.5347 
F-statistic: 23.99 on 1 and 19 DF,  p-value: 1e-04
# install.packages("png")
library(png)

rato <- readPNG("mouse.png")

ratinho <- ggplot(etbilu, aes(x=meanhfl, y=meanwgt))+
  theme_bw()+
  geom_point(alpha=0.9, color= "#ADE1EE", size= 4)+
  geom_smooth(method = "lm", se=F, color= "#ADE1EE")+
  geom_text(label= etbilu$scientificname, check_overlap = T, fontface= "italic", size= 3)+
  labs(x="Tamanho do pé (mm)", y= "Peso corporal (g)",
       title = "Relação entre peso e tamanho do pé de roedores")+
  annotate("text", label = expression(paste(r^2, "=0,53, p-value < 0.001")),x= 45, y= 15)+
  xlim(5,55)+
  annotation_raster(rato, xmin = 10, xmax = 20, ymin = 100, ymax = 150)

ratinho 
`geom_smooth()` using formula = 'y ~ x'
Warning in is.na(x): is.na() aplicado a um objeto diferente de lista ou vetor
de tipo 'expression'

  # theme(panel.grid = element_blank(),
       # panel.background = element_blank(),
      #  plot.background = element_rect(color = NA)) 

# ggsave("ratinhofofinho.pdf", ratinho)

Compare o peso médio e o peso dos juvenis entre os diferentes gêneros

sep1 <- etbilu %>% separate(scientificname, into = c("Genero", "epiteto"), sep = " ")

colours()
  [1] "white"                "aliceblue"            "antiquewhite"        
  [4] "antiquewhite1"        "antiquewhite2"        "antiquewhite3"       
  [7] "antiquewhite4"        "aquamarine"           "aquamarine1"         
 [10] "aquamarine2"          "aquamarine3"          "aquamarine4"         
 [13] "azure"                "azure1"               "azure2"              
 [16] "azure3"               "azure4"               "beige"               
 [19] "bisque"               "bisque1"              "bisque2"             
 [22] "bisque3"              "bisque4"              "black"               
 [25] "blanchedalmond"       "blue"                 "blue1"               
 [28] "blue2"                "blue3"                "blue4"               
 [31] "blueviolet"           "brown"                "brown1"              
 [34] "brown2"               "brown3"               "brown4"              
 [37] "burlywood"            "burlywood1"           "burlywood2"          
 [40] "burlywood3"           "burlywood4"           "cadetblue"           
 [43] "cadetblue1"           "cadetblue2"           "cadetblue3"          
 [46] "cadetblue4"           "chartreuse"           "chartreuse1"         
 [49] "chartreuse2"          "chartreuse3"          "chartreuse4"         
 [52] "chocolate"            "chocolate1"           "chocolate2"          
 [55] "chocolate3"           "chocolate4"           "coral"               
 [58] "coral1"               "coral2"               "coral3"              
 [61] "coral4"               "cornflowerblue"       "cornsilk"            
 [64] "cornsilk1"            "cornsilk2"            "cornsilk3"           
 [67] "cornsilk4"            "cyan"                 "cyan1"               
 [70] "cyan2"                "cyan3"                "cyan4"               
 [73] "darkblue"             "darkcyan"             "darkgoldenrod"       
 [76] "darkgoldenrod1"       "darkgoldenrod2"       "darkgoldenrod3"      
 [79] "darkgoldenrod4"       "darkgray"             "darkgreen"           
 [82] "darkgrey"             "darkkhaki"            "darkmagenta"         
 [85] "darkolivegreen"       "darkolivegreen1"      "darkolivegreen2"     
 [88] "darkolivegreen3"      "darkolivegreen4"      "darkorange"          
 [91] "darkorange1"          "darkorange2"          "darkorange3"         
 [94] "darkorange4"          "darkorchid"           "darkorchid1"         
 [97] "darkorchid2"          "darkorchid3"          "darkorchid4"         
[100] "darkred"              "darksalmon"           "darkseagreen"        
[103] "darkseagreen1"        "darkseagreen2"        "darkseagreen3"       
[106] "darkseagreen4"        "darkslateblue"        "darkslategray"       
[109] "darkslategray1"       "darkslategray2"       "darkslategray3"      
[112] "darkslategray4"       "darkslategrey"        "darkturquoise"       
[115] "darkviolet"           "deeppink"             "deeppink1"           
[118] "deeppink2"            "deeppink3"            "deeppink4"           
[121] "deepskyblue"          "deepskyblue1"         "deepskyblue2"        
[124] "deepskyblue3"         "deepskyblue4"         "dimgray"             
[127] "dimgrey"              "dodgerblue"           "dodgerblue1"         
[130] "dodgerblue2"          "dodgerblue3"          "dodgerblue4"         
[133] "firebrick"            "firebrick1"           "firebrick2"          
[136] "firebrick3"           "firebrick4"           "floralwhite"         
[139] "forestgreen"          "gainsboro"            "ghostwhite"          
[142] "gold"                 "gold1"                "gold2"               
[145] "gold3"                "gold4"                "goldenrod"           
[148] "goldenrod1"           "goldenrod2"           "goldenrod3"          
[151] "goldenrod4"           "gray"                 "gray0"               
[154] "gray1"                "gray2"                "gray3"               
[157] "gray4"                "gray5"                "gray6"               
[160] "gray7"                "gray8"                "gray9"               
[163] "gray10"               "gray11"               "gray12"              
[166] "gray13"               "gray14"               "gray15"              
[169] "gray16"               "gray17"               "gray18"              
[172] "gray19"               "gray20"               "gray21"              
[175] "gray22"               "gray23"               "gray24"              
[178] "gray25"               "gray26"               "gray27"              
[181] "gray28"               "gray29"               "gray30"              
[184] "gray31"               "gray32"               "gray33"              
[187] "gray34"               "gray35"               "gray36"              
[190] "gray37"               "gray38"               "gray39"              
[193] "gray40"               "gray41"               "gray42"              
[196] "gray43"               "gray44"               "gray45"              
[199] "gray46"               "gray47"               "gray48"              
[202] "gray49"               "gray50"               "gray51"              
[205] "gray52"               "gray53"               "gray54"              
[208] "gray55"               "gray56"               "gray57"              
[211] "gray58"               "gray59"               "gray60"              
[214] "gray61"               "gray62"               "gray63"              
[217] "gray64"               "gray65"               "gray66"              
[220] "gray67"               "gray68"               "gray69"              
[223] "gray70"               "gray71"               "gray72"              
[226] "gray73"               "gray74"               "gray75"              
[229] "gray76"               "gray77"               "gray78"              
[232] "gray79"               "gray80"               "gray81"              
[235] "gray82"               "gray83"               "gray84"              
[238] "gray85"               "gray86"               "gray87"              
[241] "gray88"               "gray89"               "gray90"              
[244] "gray91"               "gray92"               "gray93"              
[247] "gray94"               "gray95"               "gray96"              
[250] "gray97"               "gray98"               "gray99"              
[253] "gray100"              "green"                "green1"              
[256] "green2"               "green3"               "green4"              
[259] "greenyellow"          "grey"                 "grey0"               
[262] "grey1"                "grey2"                "grey3"               
[265] "grey4"                "grey5"                "grey6"               
[268] "grey7"                "grey8"                "grey9"               
[271] "grey10"               "grey11"               "grey12"              
[274] "grey13"               "grey14"               "grey15"              
[277] "grey16"               "grey17"               "grey18"              
[280] "grey19"               "grey20"               "grey21"              
[283] "grey22"               "grey23"               "grey24"              
[286] "grey25"               "grey26"               "grey27"              
[289] "grey28"               "grey29"               "grey30"              
[292] "grey31"               "grey32"               "grey33"              
[295] "grey34"               "grey35"               "grey36"              
[298] "grey37"               "grey38"               "grey39"              
[301] "grey40"               "grey41"               "grey42"              
[304] "grey43"               "grey44"               "grey45"              
[307] "grey46"               "grey47"               "grey48"              
[310] "grey49"               "grey50"               "grey51"              
[313] "grey52"               "grey53"               "grey54"              
[316] "grey55"               "grey56"               "grey57"              
[319] "grey58"               "grey59"               "grey60"              
[322] "grey61"               "grey62"               "grey63"              
[325] "grey64"               "grey65"               "grey66"              
[328] "grey67"               "grey68"               "grey69"              
[331] "grey70"               "grey71"               "grey72"              
[334] "grey73"               "grey74"               "grey75"              
[337] "grey76"               "grey77"               "grey78"              
[340] "grey79"               "grey80"               "grey81"              
[343] "grey82"               "grey83"               "grey84"              
[346] "grey85"               "grey86"               "grey87"              
[349] "grey88"               "grey89"               "grey90"              
[352] "grey91"               "grey92"               "grey93"              
[355] "grey94"               "grey95"               "grey96"              
[358] "grey97"               "grey98"               "grey99"              
[361] "grey100"              "honeydew"             "honeydew1"           
[364] "honeydew2"            "honeydew3"            "honeydew4"           
[367] "hotpink"              "hotpink1"             "hotpink2"            
[370] "hotpink3"             "hotpink4"             "indianred"           
[373] "indianred1"           "indianred2"           "indianred3"          
[376] "indianred4"           "ivory"                "ivory1"              
[379] "ivory2"               "ivory3"               "ivory4"              
[382] "khaki"                "khaki1"               "khaki2"              
[385] "khaki3"               "khaki4"               "lavender"            
[388] "lavenderblush"        "lavenderblush1"       "lavenderblush2"      
[391] "lavenderblush3"       "lavenderblush4"       "lawngreen"           
[394] "lemonchiffon"         "lemonchiffon1"        "lemonchiffon2"       
[397] "lemonchiffon3"        "lemonchiffon4"        "lightblue"           
[400] "lightblue1"           "lightblue2"           "lightblue3"          
[403] "lightblue4"           "lightcoral"           "lightcyan"           
[406] "lightcyan1"           "lightcyan2"           "lightcyan3"          
[409] "lightcyan4"           "lightgoldenrod"       "lightgoldenrod1"     
[412] "lightgoldenrod2"      "lightgoldenrod3"      "lightgoldenrod4"     
[415] "lightgoldenrodyellow" "lightgray"            "lightgreen"          
[418] "lightgrey"            "lightpink"            "lightpink1"          
[421] "lightpink2"           "lightpink3"           "lightpink4"          
[424] "lightsalmon"          "lightsalmon1"         "lightsalmon2"        
[427] "lightsalmon3"         "lightsalmon4"         "lightseagreen"       
[430] "lightskyblue"         "lightskyblue1"        "lightskyblue2"       
[433] "lightskyblue3"        "lightskyblue4"        "lightslateblue"      
[436] "lightslategray"       "lightslategrey"       "lightsteelblue"      
[439] "lightsteelblue1"      "lightsteelblue2"      "lightsteelblue3"     
[442] "lightsteelblue4"      "lightyellow"          "lightyellow1"        
[445] "lightyellow2"         "lightyellow3"         "lightyellow4"        
[448] "limegreen"            "linen"                "magenta"             
[451] "magenta1"             "magenta2"             "magenta3"            
[454] "magenta4"             "maroon"               "maroon1"             
[457] "maroon2"              "maroon3"              "maroon4"             
[460] "mediumaquamarine"     "mediumblue"           "mediumorchid"        
[463] "mediumorchid1"        "mediumorchid2"        "mediumorchid3"       
[466] "mediumorchid4"        "mediumpurple"         "mediumpurple1"       
[469] "mediumpurple2"        "mediumpurple3"        "mediumpurple4"       
[472] "mediumseagreen"       "mediumslateblue"      "mediumspringgreen"   
[475] "mediumturquoise"      "mediumvioletred"      "midnightblue"        
[478] "mintcream"            "mistyrose"            "mistyrose1"          
[481] "mistyrose2"           "mistyrose3"           "mistyrose4"          
[484] "moccasin"             "navajowhite"          "navajowhite1"        
[487] "navajowhite2"         "navajowhite3"         "navajowhite4"        
[490] "navy"                 "navyblue"             "oldlace"             
[493] "olivedrab"            "olivedrab1"           "olivedrab2"          
[496] "olivedrab3"           "olivedrab4"           "orange"              
[499] "orange1"              "orange2"              "orange3"             
[502] "orange4"              "orangered"            "orangered1"          
[505] "orangered2"           "orangered3"           "orangered4"          
[508] "orchid"               "orchid1"              "orchid2"             
[511] "orchid3"              "orchid4"              "palegoldenrod"       
[514] "palegreen"            "palegreen1"           "palegreen2"          
[517] "palegreen3"           "palegreen4"           "paleturquoise"       
[520] "paleturquoise1"       "paleturquoise2"       "paleturquoise3"      
[523] "paleturquoise4"       "palevioletred"        "palevioletred1"      
[526] "palevioletred2"       "palevioletred3"       "palevioletred4"      
[529] "papayawhip"           "peachpuff"            "peachpuff1"          
[532] "peachpuff2"           "peachpuff3"           "peachpuff4"          
[535] "peru"                 "pink"                 "pink1"               
[538] "pink2"                "pink3"                "pink4"               
[541] "plum"                 "plum1"                "plum2"               
[544] "plum3"                "plum4"                "powderblue"          
[547] "purple"               "purple1"              "purple2"             
[550] "purple3"              "purple4"              "red"                 
[553] "red1"                 "red2"                 "red3"                
[556] "red4"                 "rosybrown"            "rosybrown1"          
[559] "rosybrown2"           "rosybrown3"           "rosybrown4"          
[562] "royalblue"            "royalblue1"           "royalblue2"          
[565] "royalblue3"           "royalblue4"           "saddlebrown"         
[568] "salmon"               "salmon1"              "salmon2"             
[571] "salmon3"              "salmon4"              "sandybrown"          
[574] "seagreen"             "seagreen1"            "seagreen2"           
[577] "seagreen3"            "seagreen4"            "seashell"            
[580] "seashell1"            "seashell2"            "seashell3"           
[583] "seashell4"            "sienna"               "sienna1"             
[586] "sienna2"              "sienna3"              "sienna4"             
[589] "skyblue"              "skyblue1"             "skyblue2"            
[592] "skyblue3"             "skyblue4"             "slateblue"           
[595] "slateblue1"           "slateblue2"           "slateblue3"          
[598] "slateblue4"           "slategray"            "slategray1"          
[601] "slategray2"           "slategray3"           "slategray4"          
[604] "slategrey"            "snow"                 "snow1"               
[607] "snow2"                "snow3"                "snow4"               
[610] "springgreen"          "springgreen1"         "springgreen2"        
[613] "springgreen3"         "springgreen4"         "steelblue"           
[616] "steelblue1"           "steelblue2"           "steelblue3"          
[619] "steelblue4"           "tan"                  "tan1"                
[622] "tan2"                 "tan3"                 "tan4"                
[625] "thistle"              "thistle1"             "thistle2"            
[628] "thistle3"             "thistle4"             "tomato"              
[631] "tomato1"              "tomato2"              "tomato3"             
[634] "tomato4"              "turquoise"            "turquoise1"          
[637] "turquoise2"           "turquoise3"           "turquoise4"          
[640] "violet"               "violetred"            "violetred1"          
[643] "violetred2"           "violetred3"           "violetred4"          
[646] "wheat"                "wheat1"               "wheat2"              
[649] "wheat3"               "wheat4"               "whitesmoke"          
[652] "yellow"               "yellow1"              "yellow2"             
[655] "yellow3"              "yellow4"              "yellowgreen"         
juv <- ggplot(sep1, aes(x= Genero, y= juvwgt, fill = Genero))+
  geom_boxplot()+
   scale_fill_manual(values = c("lightblue", "aquamarine","lightpink", "orange", "yellowgreen", "violet", "seagreen", "salmon", "peru"))+
    labs(x="Gênero", y="Juvenis",title="Figura 4",
         subtitle = "Peso médio entre os gêneros")+
   theme(axis.text.x = element_blank(), axis.ticks.x = element_blank()) 
juv  
Warning: Removed 3 rows containing non-finite outside the scale range
(`stat_boxplot()`).

Compare o peso dos animais nos diferentes tratamentos para os diferentes sexos

portal <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2023/2023-05-02/surveys.csv')
Rows: 28364 Columns: 22
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr  (14): treatment, species, sex, reprod, age, testes, vagina, pregnant, n...
dbl   (7): month, day, year, plot, stake, hfl, wgt
date  (1): censusdate

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
portal1 <- filter(portal, wgt != "NA", sex != "NA", hfl != "NA")

ggplot(portal1, aes(x= treatment, y= wgt, fill= sex))+
  geom_boxplot()+
  facet_wrap(~treatment, scales = "free")+
  scale_fill_manual(values = c("lightblue", "aquamarine"))+
    labs(x="Tratamentos", y="Peso",title="Peso dos animais nos diferentes tratamentos para os diferentes sexos")+
   theme(axis.text.x = element_blank(), axis.ticks.x = element_blank())

Comparando a relação linear entre o tamanho do pé e o peso dos roedores para os diferentes tratamentos

ggplot(portal1, aes(x=wgt, y=hfl))+
  theme_gray()+
  geom_smooth(method = "lm", se=F, color= "aquamarine")+
  facet_wrap(~treatment, scales = "free")+
  labs(x="Peso corporal (g)", y= "Tamanho do pé (mm)",
       title = "Relação entre peso e tamanho do pé de roedores em diferentes tratamentos")
`geom_smooth()` using formula = 'y ~ x'

---
title: "Execício 3"
author: "Aline Fonseca"
date: "10 Oct 2024"
cap-location: bottom
title-block-banner: true
format: html
code-link: true
code-tools: true
theme: vapor
toc: true
toc-title: Índice
editor: visual
editor_options:
  chunk_output_type: console
---

# Exercício 3 - Visualização de dados - `Dplyr`

## Carregando a tabela e carregando pacotes

quarto-executable-code-5450563D

```r
eggs <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2023/2023-04-11/egg-production.csv')

library(tidyverse)
library(ggsci)
library(knitr)
library(kableExtra)
library(tinytex)
library(ggplot2)
library(dplyr)
library(RColorBrewer)

eggs_divide <- mutate(eggs, n_hens = n_hens)

```

## Evolução do número de ovos de galinhas criadas livres (orgânicas e não-orgânicas) ao longo dos anos

quarto-executable-code-5450563D

```r
sep <- eggs_divide %>% separate(observed_month, into = c("Ano", "Mes", "Dia"), sep = "-")

sel <- filter(sep, prod_type != "hatching eggs", prod_process != "all")
  
prod_ovos <- ggplot(sel, aes(x=n_eggs, y=n_hens))+
  geom_smooth(method = "lm")+
  geom_point(aes(color=Ano))
prod_ovos
```

quarto-executable-code-5450563D

```r
#### Fazendo com a Marina

ggplot(sel, aes(x= Ano, y= n_hens, fill= prod_process))+
  geom_boxplot()+
  facet_wrap(~prod_process, scales = "free")

galinha <- ggplot(data=filter(sep, prod_process!="all"),aes(x= Ano, y= n_hens, fill= prod_process))+
  geom_boxplot()+
  facet_wrap(~prod_process, scales = "free_y")+
  labs(title = "Number of hens", subtitle = "Per million", tag = "(A)")+
  scale_fill_brewer(palette = "YlOrBr")+
  theme_classic()+
  theme(axis.title = element_blank(), plot.background = element_rect(fill = "#F0E9AD", color = NA),
        strip.background = element_rect(fill = "#FFED3D"),
        panel.background = element_rect(fill = "#FAEF8F", color = "black"), legend.position = "none")
galinha

ovos <- ggplot(data=filter(sep, prod_process!="all"),aes(x= Ano, y= n_eggs/10000, fill= prod_process))+
  geom_boxplot()+
  facet_wrap(~prod_process, scales = "free_y")+
  labs(title = "Number of eggs", subtitle = "Per million", tag = "(B)")+
  scale_fill_brewer(palette = "YlOrBr")+
  theme_classic()+
  theme(axis.title = element_blank(), plot.background = element_rect(fill = "#F0E9AD", color = NA),
        strip.background = element_rect(fill = "#FFED3D"),
        panel.background = element_rect(fill = "#FAEF8F", color = "black"), legend.position = "none")

ovos

# essas últimas linhas são para por nome em cada um dos boxplot no gráfico

library(patchwork)

# esse é um pacote para a composição de gráficos

painel1 <- galinha/ovos #um acima do outro
painel1

painel2 <- galinha+ovos #um do lado do outro
painel2

#ggsave("opcao1.jpg", painel1, dpi = 200, units = "cm", width = 12, height = 12)

#ggsave("opcao2.pdf", painel2, units = "cm", width = 24, height = 9)

painel3 <- galinha/ovos + plot_annotation(title = "Produção de ovos nos Estados Unidos 2016-2021", subtitle = "Aumento expressivo de galinhas criadas livres", caption = "Plot for @TudyTuesday | By Aline Fonseca", theme=theme(plot.background = element_rect(fill = "#B2A374", color = NA), plot.title = element_text(color = "#FFED3D")))
painel3

#ggsave("opcao3.jpg", painel3, dpi = 200, width = 20, height = 20, unit = "cm")

```

## Comparando a produtividade dos diferentes tipos de processos e dos diferentes tipos de produtos

quarto-executable-code-5450563D

```r
razao <- sep %>% 
  mutate(produtividade = (n_hens/n_eggs))

# display.brewer.all()

prod_process <- ggplot(razao, aes(x=prod_type, y=produtividade, fill= prod_type))+
      geom_boxplot()+
  scale_fill_manual(values = c("lightblue", "aquamarine"))+
    labs(x="Tipo de produção", y="Produtividade",title="Figura 2",
         subtitle = "Produtividade entre os diferentes processos")

prod_process

# Fazendo com a Marina

# install.packages("ggridges")
library(ggridges)

ggplot(razao, aes(x= produtividade, y= prod_process, fill = prod_type, color= prod_type))+
  geom_density_ridges(alpha= 0.5)+
  scale_fill_manual(values = c("#F1EB17", "#F1172A"),
                    labels= c("Ovos de mesa","Ovos Incubabos"))+
  scale_color_manual(values = c("#F1EB17", "#F1172A"))+
  scale_y_discrete(labels = c(`cage-free (organic)`="Orgânico", `cage-free (non-organic)`="Não orgânico", all="Todos"))+
  scale_x_continuous(expand = c(0,0))+
  labs(title="Produtividade(ovos/galinha)", 
       subtitle = "Produção orgânica se equipara a produção não orgânica")+
  theme_ridges()+
  guides(color="none")+
  theme(axis.title = element_blank(), 
        legend.title = element_blank(),
        legend.position = c(0,0.9),
        panel.background = element_rect(fill = "#F5E3C7"),
          plot.background = element_rect(fill = "#F5E3C7"),
        panel.grid.major = element_line(color= "#FAA805"),
        linetype= "dashed", legend.backgroud = element_rect(fill = "#F5E3C7"))


```

## Comparando a produtividade entre os meses dos anos

quarto-executable-code-5450563D

```r
prod_meses <- ggplot(razao, aes(x=produtividade, fill = Mes))+
  geom_density(alpha=0.4)+
  scale_y_continuous(expand = c(0,0))+
  labs(title="Figura 3",
         subtitle = "Produtividade entre os meses dos anos")
  prod_meses
  
#### Fazendo com a Marina

library(ggsci)
  
ax3 <- ggplot(razao, aes(x= Mes, y= produtividade, fill= prod_type))+
  geom_boxplot(alpha= 0.6, width= 0.4)+
  facet_wrap(~prod_process, ncol = 1, scale = "free_y")+
  theme_minimal()+
  scale_fill_uchicago()+
  labs(title="Produtividade (ovos/galinha)",
       subtitle = "Diminuição no mês de fevereiro",
       x="Mês", y="Produtividade (ovos/galinha)")+
  theme(legend.title = element_blank(), legend.position = "top",
        panel.background = element_rect(fill = "#E1DFDA"), color= NA,
        plot.background = element_rect(fill = "#E1DFDA"), color= NA)
ax3
#ggsave("exerc3.jpg", ax3, dpi = 200, width = 12, height = 16, unit= "cm")

```

## Faça um gráfico mostrando a relação linear entre o tamanho do pé e o peso dos roedores

quarto-executable-code-5450563D

```r
etbilu <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2023/2023-05-02/species.csv')

reg_roedor <- ggplot(etbilu, aes(x=meanhfl, y=meanwgt))+
  geom_smooth(method = "lm")+
  geom_point()+
  labs(x="Tamanho do pé", y="Peso",title="Regressão linear",
         subtitle = "Comparando a média do tamanho do pé e peso dos roedores")

reg_roedor

#### Fazendo com a Marina

summary(lm(meanwgt~meanhfl, data = etbilu))

# install.packages("png")
library(png)

rato <- readPNG("mouse.png")

ratinho <- ggplot(etbilu, aes(x=meanhfl, y=meanwgt))+
  theme_bw()+
  geom_point(alpha=0.9, color= "#ADE1EE", size= 4)+
  geom_smooth(method = "lm", se=F, color= "#ADE1EE")+
  geom_text(label= etbilu$scientificname, check_overlap = T, fontface= "italic", size= 3)+
  labs(x="Tamanho do pé (mm)", y= "Peso corporal (g)",
       title = "Relação entre peso e tamanho do pé de roedores")+
  annotate("text", label = expression(paste(r^2, "=0,53, p-value < 0.001")),x= 45, y= 15)+
  xlim(5,55)+
  annotation_raster(rato, xmin = 10, xmax = 20, ymin = 100, ymax = 150)

ratinho 
  
  # theme(panel.grid = element_blank(),
       # panel.background = element_blank(),
      #  plot.background = element_rect(color = NA)) 

# ggsave("ratinhofofinho.pdf", ratinho)
  

```

## Compare o peso médio e o peso dos juvenis entre os diferentes gêneros

quarto-executable-code-5450563D

```r
sep1 <- etbilu %>% separate(scientificname, into = c("Genero", "epiteto"), sep = " ")

colours()

juv <- ggplot(sep1, aes(x= Genero, y= juvwgt, fill = Genero))+
  geom_boxplot()+
   scale_fill_manual(values = c("lightblue", "aquamarine","lightpink", "orange", "yellowgreen", "violet", "seagreen", "salmon", "peru"))+
    labs(x="Gênero", y="Juvenis",title="Figura 4",
         subtitle = "Peso médio entre os gêneros")+
   theme(axis.text.x = element_blank(), axis.ticks.x = element_blank()) 
juv  

```

## Compare o peso dos animais nos diferentes tratamentos para os diferentes sexos
quarto-executable-code-5450563D

```r
portal <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2023/2023-05-02/surveys.csv')

portal1 <- filter(portal, wgt != "NA", sex != "NA", hfl != "NA")

ggplot(portal1, aes(x= treatment, y= wgt, fill= sex))+
  geom_boxplot()+
  facet_wrap(~treatment, scales = "free")+
  scale_fill_manual(values = c("lightblue", "aquamarine"))+
    labs(x="Tratamentos", y="Peso",title="Peso dos animais nos diferentes tratamentos para os diferentes sexos")+
   theme(axis.text.x = element_blank(), axis.ticks.x = element_blank())
```

## Comparando a relação linear entre o tamanho do pé e o peso dos roedores para os diferentes tratamentos

quarto-executable-code-5450563D

```r
ggplot(portal1, aes(x=wgt, y=hfl))+
  theme_gray()+
  geom_smooth(method = "lm", se=F, color= "aquamarine")+
  facet_wrap(~treatment, scales = "free")+
  labs(x="Peso corporal (g)", y= "Tamanho do pé (mm)",
       title = "Relação entre peso e tamanho do pé de roedores em diferentes tratamentos")

```