1 Definições da sessão

#-----------------------------------------------------------------------
#                                            Prof. Dr. Walmes M. Zeviani
#                                leg.ufpr.br/~walmes · github.com/walmes
#                                        walmes@ufpr.br · @walmeszeviani
#                      Laboratory of Statistics and Geoinformation (LEG)
#                Department of Statistics · Federal University of Paraná
#                                       2020-abr-16 · Curitiba/PR/Brazil
#-----------------------------------------------------------------------

#-----------------------------------------------------------------------
# Pacotes.

rm(list = objects())
library(tidyverse)
library(readxl)

2 Importação dos dados

Os dados são importados do arquivo *.xlsx. Após leitura, filtra-se apenas para os genótipos de interesse imediato. São ao todo 35 genótipos para as análises subsequentes.

Neste relatório estão presentes apenas as saídas, ou seja, tabelas e gráficos. Os códigos R não serão exibidos mas podem ser fornecidos se solicitados.

#-----------------------------------------------------------------------
# Importa as tabelas de dados de ferrugem.

# Endereço do arquivo.
xlsx <- "./Walmes' BANCO DE DADOS TD ATUALIZADO_ABR_2020.xlsx"

# Tabela com dados dos 35 genótipos selecionados.
tb <- read_xlsx(path = xlsx,
                sheet = "6) RB08-09 FERRUG URGENTE",
                skip = 3)
## New names:
## * `` -> ...22
## * `` -> ...23
## * `` -> ...24
str(tb)
## Classes 'tbl_df', 'tbl' and 'data.frame':    684 obs. of  24 variables:
##  $ id               : num  1 2 3 4 5 6 7 8 9 10 ...
##  $ blc              : num  1 1 1 1 1 1 1 1 1 1 ...
##  $ lin              : num  1 1 1 1 1 2 2 2 2 2 ...
##  $ plt              : num  1 2 3 4 5 1 2 3 4 5 ...
##  $ gen              : chr  "PR093047" "PR093047" "PR093047" "PR093047" ...
##  $ SN_FEM_2019-10-15: num  4 4 4 3 2 2 4 4 4 4 ...
##  $ SF_FEM_2019-10-15: num  5 5 5 1 0.5 0.5 5 5 5 5 ...
##  $ SN_FAL_2019-10-15: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SF_FAL_2019-10-15: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SN_FEM_2019-12-10: num  4 4 6 5 4 5 6 5 6 4 ...
##  $ SF_FEM_2019-12-10: num  5 5 25 10 5 10 25 10 25 5 ...
##  $ SN_FAL_2019-12-10: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SF_FAL_2019-12-10: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SN_FEM_2020-02-06: num  4 4 5 6 2 4 6 8 6 5 ...
##  $ SF_FEM_2020-02-06: num  5 5 10 25 0.5 5 25 50 25 10 ...
##  $ SN_FAL_2020-02-06: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SF_FAL_2020-02-06: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SN_FEM_2020-03-16: num  2 2 0 2 2 2 0 2 0 0 ...
##  $ SF_FEM_2020-03-16: num  0.5 0.5 0 0.5 0.5 0.5 0 0.5 0 0 ...
##  $ SN_FAL_2020-03-16: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SF_FAL_2020-03-16: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ ...22            : logi  NA NA NA NA NA NA ...
##  $ ...23            : chr  NA NA NA NA ...
##  $ ...24            : chr  NA "FEM: Ferrugem Marrrom" "FAL: Ferrugem Alaranjada" NA ...
# Vetor com o nome dos 35 genótipos.
sel_gen <- c(na.omit(unique(tb$gen)))

# Tabela com todos os genótipos.
tb <- read_xlsx(path = xlsx,
                sheet = "5) RB08-09 FERRUGENS",
                skip = 3)
str(tb)
## Classes 'tbl_df', 'tbl' and 'data.frame':    1140 obs. of  21 variables:
##  $ id               : num  1 2 3 4 5 6 7 8 9 10 ...
##  $ blc              : num  1 1 1 1 1 1 1 1 1 1 ...
##  $ lin              : num  1 1 1 1 1 2 2 2 2 2 ...
##  $ plt              : num  1 2 3 4 5 1 2 3 4 5 ...
##  $ gen              : chr  "PR093047" "PR093047" "PR093047" "PR093047" ...
##  $ SN_FEM_2019-10-15: num  4 4 4 3 2 2 4 4 4 4 ...
##  $ SF_FEM_2019-10-15: num  5 5 5 1 0.5 0.5 5 5 5 5 ...
##  $ SN_FAL_2019-10-15: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SF_FAL_2019-10-15: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SN_FEM_2019-12-10: num  4 4 6 5 4 5 6 5 6 4 ...
##  $ SF_FEM_2019-12-10: num  5 5 25 10 5 10 25 10 25 5 ...
##  $ SN_FAL_2019-12-10: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SF_FAL_2019-12-10: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SN_FEM_2020-02-06: num  4 4 5 6 2 4 6 8 6 5 ...
##  $ SF_FEM_2020-02-06: num  5 5 10 25 0.5 5 25 50 25 10 ...
##  $ SN_FAL_2020-02-06: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SF_FAL_2020-02-06: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SN_FEM_2020-03-16: num  2 2 0 2 2 2 0 2 0 0 ...
##  $ SF_FEM_2020-03-16: num  0.5 0.5 0 0.5 0.5 0.5 0 0.5 0 0 ...
##  $ SN_FAL_2020-03-16: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SF_FAL_2020-03-16: num  0 0 0 0 0 0 0 0 0 0 ...
# Quantidade de genótipos.
length(unique(tb$gen))
## [1] 56
# Seleciona os 35 do vetor.
tb_sel <- tb %>%
    filter(gen %in% sel_gen)

# Confere a quantidade.
length(unique(tb_sel$gen))
## [1] 35
# Estrutura da tabela.
str(tb_sel)
## Classes 'tbl_df', 'tbl' and 'data.frame':    720 obs. of  21 variables:
##  $ id               : num  1 2 3 4 5 6 7 8 9 10 ...
##  $ blc              : num  1 1 1 1 1 1 1 1 1 1 ...
##  $ lin              : num  1 1 1 1 1 2 2 2 2 2 ...
##  $ plt              : num  1 2 3 4 5 1 2 3 4 5 ...
##  $ gen              : chr  "PR093047" "PR093047" "PR093047" "PR093047" ...
##  $ SN_FEM_2019-10-15: num  4 4 4 3 2 2 4 4 4 4 ...
##  $ SF_FEM_2019-10-15: num  5 5 5 1 0.5 0.5 5 5 5 5 ...
##  $ SN_FAL_2019-10-15: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SF_FAL_2019-10-15: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SN_FEM_2019-12-10: num  4 4 6 5 4 5 6 5 6 4 ...
##  $ SF_FEM_2019-12-10: num  5 5 25 10 5 10 25 10 25 5 ...
##  $ SN_FAL_2019-12-10: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SF_FAL_2019-12-10: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SN_FEM_2020-02-06: num  4 4 5 6 2 4 6 8 6 5 ...
##  $ SF_FEM_2020-02-06: num  5 5 10 25 0.5 5 25 50 25 10 ...
##  $ SN_FAL_2020-02-06: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SF_FAL_2020-02-06: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SN_FEM_2020-03-16: num  2 2 0 2 2 2 0 2 0 0 ...
##  $ SF_FEM_2020-03-16: num  0.5 0.5 0 0.5 0.5 0.5 0 0.5 0 0 ...
##  $ SN_FAL_2020-03-16: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SF_FAL_2020-03-16: num  0 0 0 0 0 0 0 0 0 0 ...
cap <- "Primeiros 10 registros da tabela de dados com valores observados de perfilhamento e ocorrência de ferrugem nas datas de avaliação para 35 genótipos selecionados."
knitr::kable(head(tb_sel, n = 10), caption = cap)
Primeiros 10 registros da tabela de dados com valores observados de perfilhamento e ocorrência de ferrugem nas datas de avaliação para 35 genótipos selecionados.
id blc lin plt gen SN_FEM_2019-10-15 SF_FEM_2019-10-15 SN_FAL_2019-10-15 SF_FAL_2019-10-15 SN_FEM_2019-12-10 SF_FEM_2019-12-10 SN_FAL_2019-12-10 SF_FAL_2019-12-10 SN_FEM_2020-02-06 SF_FEM_2020-02-06 SN_FAL_2020-02-06 SF_FAL_2020-02-06 SN_FEM_2020-03-16 SF_FEM_2020-03-16 SN_FAL_2020-03-16 SF_FAL_2020-03-16
1 1 1 1 PR093047 4 5.0 0 0 4 5 0 0 4 5.0 0 0 2 0.5 0 0
2 1 1 2 PR093047 4 5.0 0 0 4 5 0 0 4 5.0 0 0 2 0.5 0 0
3 1 1 3 PR093047 4 5.0 0 0 6 25 0 0 5 10.0 0 0 0 0.0 0 0
4 1 1 4 PR093047 3 1.0 0 0 5 10 0 0 6 25.0 0 0 2 0.5 0 0
5 1 1 5 PR093047 2 0.5 0 0 4 5 0 0 2 0.5 0 0 2 0.5 0 0
6 1 2 1 PR093047 2 0.5 0 0 5 10 0 0 4 5.0 0 0 2 0.5 0 0
7 1 2 2 PR093047 4 5.0 0 0 6 25 0 0 6 25.0 0 0 0 0.0 0 0
8 1 2 3 PR093047 4 5.0 0 0 5 10 0 0 8 50.0 0 0 2 0.5 0 0
9 1 2 4 PR093047 4 5.0 0 0 6 25 0 0 6 25.0 0 0 0 0.0 0 0
10 1 2 5 PR093047 4 5.0 0 0 4 5 0 0 5 10.0 0 0 0 0.0 0 0

3 Redisposição dos dados

Para fazer uso dos dados é necessário proceder com modificação na disposição tabular dos mesmos. As observações da mesma variável foram registradas como colunas lado a lado ao longo das avaliações (avaliações estão nas colunas). Os vetores das avaliações serão empilhados e depois será desempilhado os vetores das respostas para que a data de avaliação esteja registrada em uma coluna (avaliação nas linhas).

#-----------------------------------------------------------------------
# Arrumação dos dados para análise.

# Usa nome curto pro objeto.
tb <- tb_sel
rm(tb_sel)

# Converte variáveis para fator.
tb <- tb %>%
    mutate(blc = factor(blc),
           gen = factor(gen))

# Quantidade de genótipos.
nlevels(tb$gen)
## [1] 35
# Número de avaliações.
length(na.omit(unique(str_extract(names(tb), "_.*$"))))
## [1] 8
# Nomes das variáveis para devolver a ordem certa.
v <- names(tb) %>%
    str_remove("_[^_]*$") %>%
    unique()

# Empilha as avaliações e desempilha nas variáveis observadas.
tbu <- tb %>%
    gather(key = "var", value = "val", -(id:gen)) %>%
    separate(col = "var",
             into = c("resp", "avl"),
             sep = "_(?=[:digit:])") %>%
    mutate(avl = as.Date(avl)) %>%
    spread(key = "resp", value = "val") %>%
    arrange(id, avl) %>%
    drop_na() %>%
    select(all_of(v), everything())
str(tbu)
## Classes 'tbl_df', 'tbl' and 'data.frame':    2880 obs. of  10 variables:
##  $ id    : num  1 1 1 1 2 2 2 2 3 3 ...
##  $ blc   : Factor w/ 2 levels "1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ lin   : num  1 1 1 1 1 1 1 1 1 1 ...
##  $ plt   : num  1 1 1 1 2 2 2 2 3 3 ...
##  $ gen   : Factor w/ 35 levels "PR081019","PR081027",..: 31 31 31 31 31 31 31 31 31 31 ...
##  $ SN_FEM: num  4 4 4 2 4 4 4 2 4 6 ...
##  $ SF_FEM: num  5 5 5 0.5 5 5 5 0.5 5 25 ...
##  $ SN_FAL: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SF_FAL: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ avl   : Date, format: "2019-10-15" ...
# Número de registros por avaliação.
tbu %>%
    count(avl)
## # A tibble: 4 x 2
##   avl            n
##   <date>     <int>
## 1 2019-10-15   720
## 2 2019-12-10   720
## 3 2020-02-06   720
## 4 2020-03-16   720
# Exibe a relação entre a escala de nota e severidade.
tbu %>%
    distinct(SN_FEM, SF_FEM) %>%
    arrange(SN_FEM)
## # A tibble: 8 x 2
##   SN_FEM SF_FEM
##    <dbl>  <dbl>
## 1      0    0  
## 2      2    0.5
## 3      3    1  
## 4      4    5  
## 5      5   10  
## 6      6   25  
## 7      7   35  
## 8      8   50
tbu %>%
    distinct(SN_FAL, SF_FAL) %>%
    arrange(SN_FAL)
## # A tibble: 6 x 2
##   SN_FAL SF_FAL
##    <dbl>  <dbl>
## 1      0   0   
## 2      1   0.06
## 3      2   0.06
## 4      3   0.36
## 5      4   0.89
## 6      5   2.17
# IMPORTANT: as duas variáveis são redundantes porque cada valor na
# escala de nota (SN) é unicamente mapeado para um valor na escala da
# severidade (SF). As escalas de severidade não parecem comparáveis.

# Número de genótipos.
nlevels(tbu$gen)
## [1] 35
cap <- "Primeiros 15 registros da tabela preparada para análise dos dados de ocorrência de ferrugem para os 35 genótipos."
knitr::kable(head(tbu, n = 15), caption = cap)
Primeiros 15 registros da tabela preparada para análise dos dados de ocorrência de ferrugem para os 35 genótipos.
id blc lin plt gen SN_FEM SF_FEM SN_FAL SF_FAL avl
1 1 1 1 PR093047 4 5.0 0 0 2019-10-15
1 1 1 1 PR093047 4 5.0 0 0 2019-12-10
1 1 1 1 PR093047 4 5.0 0 0 2020-02-06
1 1 1 1 PR093047 2 0.5 0 0 2020-03-16
2 1 1 2 PR093047 4 5.0 0 0 2019-10-15
2 1 1 2 PR093047 4 5.0 0 0 2019-12-10
2 1 1 2 PR093047 4 5.0 0 0 2020-02-06
2 1 1 2 PR093047 2 0.5 0 0 2020-03-16
3 1 1 3 PR093047 4 5.0 0 0 2019-10-15
3 1 1 3 PR093047 6 25.0 0 0 2019-12-10
3 1 1 3 PR093047 5 10.0 0 0 2020-02-06
3 1 1 3 PR093047 0 0.0 0 0 2020-03-16
4 1 1 4 PR093047 3 1.0 0 0 2019-10-15
4 1 1 4 PR093047 5 10.0 0 0 2019-12-10
4 1 1 4 PR093047 6 25.0 0 0 2020-02-06
cap <- "Número de registros em cada avaliação por genótipo em cada bloco. Cada registro corresponde à observação de uma planta por parcela. Cada parcela tem duas fileiras com 5 plantas em cada."

# Exibição gráfica da ocorrência.
ggplot(data = filter(tbu, avl == avl[1]),
       mapping = aes(x = reorder(gen, gen, length), fill = blc)) +
    geom_bar(position = "dodge") +
    coord_flip() +
    labs(x = "Genótipos", y = "Número de registros", fill = "Bloco")
Número de registros em cada avaliação por genótipo em cada bloco. Cada registro corresponde à observação de uma planta por parcela. Cada parcela tem duas fileiras com 5 plantas em cada.

Número de registros em cada avaliação por genótipo em cada bloco. Cada registro corresponde à observação de uma planta por parcela. Cada parcela tem duas fileiras com 5 plantas em cada.

4 Agregação por unidade experimental

As variáveis respostas foram registradas ao nível de planta (5 plantas) dentro de linha (duas linhas) dentro de parcela, perfazendo assim, 10 observações por unidade experimental em cada avaliação.

#-----------------------------------------------------------------------
# Define as variáveis resposta para a análise.

# NOTE
# SN: Severidade em escala de nota.
# SF: Severidade em escala de área.
# FAL: Ferrugem alaranjada.
# FEM: Ferrugem marrom.

# IMPORTANT: as duas escalas são matematicamente relacionadas.

# QUESTION: como saber as parcelas perdidas aqui?

# Agrega por unidade experimental.
tbua <- tbu %>%
    group_by(blc, gen, avl) %>%
    summarise_at(vars(SF_FEM, SF_FAL), "mean") %>%
    ungroup()
str(tbua)
## Classes 'tbl_df', 'tbl' and 'data.frame':    280 obs. of  5 variables:
##  $ blc   : Factor w/ 2 levels "1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ gen   : Factor w/ 35 levels "PR081019","PR081027",..: 1 1 1 1 2 2 2 2 3 3 ...
##  $ avl   : Date, format: "2019-10-15" ...
##  $ SF_FEM: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ SF_FAL: num  0 0 0 0 0 0 0 0 0 0 ...
cap <- "Primeiros 15 registros da tabela preparada contendo a severidade das ferrugens marrom e alaranjada para os 35 genótipos em cada avaliação por parcela."
knitr::kable(head(tbua, n = 15), caption = cap)
Primeiros 15 registros da tabela preparada contendo a severidade das ferrugens marrom e alaranjada para os 35 genótipos em cada avaliação por parcela.
blc gen avl SF_FEM SF_FAL
1 PR081019 2019-10-15 0 0
1 PR081019 2019-12-10 0 0
1 PR081019 2020-02-06 0 0
1 PR081019 2020-03-16 0 0
1 PR081027 2019-10-15 0 0
1 PR081027 2019-12-10 0 0
1 PR081027 2020-02-06 0 0
1 PR081027 2020-03-16 0 0
1 PR081028 2019-10-15 0 0
1 PR081028 2019-12-10 0 0
1 PR081028 2020-02-06 0 0
1 PR081028 2020-03-16 0 0
1 PR081031 2019-10-15 0 0
1 PR081031 2019-12-10 0 0
1 PR081031 2020-02-06 0 0
cap <- "Severidade da ferrugem alaranjada por unidade experimental em cada genótipo ao longo das avaliações. A linha contínua conecta a média amostral dos valores observadados nas parcelas avaliadas em uma mesma data."

# Série da ferrugem alaranjada.
ggplot(data = mutate(tbua,
                     gen = fct_reorder(gen, SF_FAL, sum)),
       mapping = aes(x = avl, y = SF_FAL)) +
    facet_wrap(facets = ~gen) +
    geom_point() +
    stat_summary(geom = "line", fun = "mean") +
    labs(x = "Avaliações",
         y = "Severidade da ferrugem alaranjada",
         caption = "Genótipos ordenados pela severidade")
Severidade da ferrugem alaranjada por unidade experimental em cada genótipo ao longo das avaliações. A linha contínua conecta a média amostral dos valores observadados nas parcelas avaliadas em uma mesma data.

Severidade da ferrugem alaranjada por unidade experimental em cada genótipo ao longo das avaliações. A linha contínua conecta a média amostral dos valores observadados nas parcelas avaliadas em uma mesma data.

cap <- "Severidade da ferrugem marrom por unidade experimental em cada genótipo ao longo das avaliações. A linha contínua conecta a média amostral dos valores observadados nas parcelas avaliadas em uma mesma data."

# Série da ferrugem marrom.
ggplot(data = mutate(tbua,
                     gen = fct_reorder(gen, SF_FEM, sum)),
       mapping = aes(x = avl, y = SF_FEM)) +
    facet_wrap(facets = ~gen) +
    geom_point() +
    stat_summary(geom = "line", fun = "mean") +
    labs(x = "Avaliações",
         y = "Severidade da ferrugem marrom",
         caption = "Genótipos ordenados pela severidade")
Severidade da ferrugem marrom por unidade experimental em cada genótipo ao longo das avaliações. A linha contínua conecta a média amostral dos valores observadados nas parcelas avaliadas em uma mesma data.

Severidade da ferrugem marrom por unidade experimental em cada genótipo ao longo das avaliações. A linha contínua conecta a média amostral dos valores observadados nas parcelas avaliadas em uma mesma data.

5 Definição das variáveis resposta

Para a análise com a finalidade principal de comparar os genótipos, é interessante eliminar as demais dimensões, como as avaliações ao longo do tempo. Sendo assim, os dados serão agregados para cada genótipo e bloco considerando a média das variáveis resposta.

Serão obtidas as variáveis por agregração no eixo do tempo:

  • Severidade máxima da parcela nas avaliações.
  • Severidade média da parcela nas avaliações.
  • Área abaixo da curva de severidade (método trapezoidal).
#-----------------------------------------------------------------------
# Marginal para genótipos.

# Para determinar a área abaixo da curva poligonal.
aucpd <- function(x, y) {
    y_left <- head(y, n = -1)
    y_right <- tail(y, n = -1)
    x_diff <- diff(x)
    sum(x_diff * (y_left + y_right)/2)
}
# x <- 1:5
# y <- c(0, 2, 1, 2, 0)
# plot(x, y, ylim = c(0, max(y)), type = "l")
# aucpd(x, y)

# Obter a média de proporção de perfilhos com carvão nas avaliações.
tbua_ue <- tbua %>%
    group_by(blc, gen) %>%
    arrange(avl) %>%
    summarise(SEV_A_med = mean(SF_FAL),
              SEV_M_med = mean(SF_FEM),
              SEV_A_max = max(SF_FAL),
              SEV_M_max = max(SF_FEM),
              aucpd_A = aucpd(x = as.integer(avl), y = SF_FAL),
              aucpd_M = aucpd(x = as.integer(avl), y = SF_FEM))
# tbua_ue

# Fazendo a agregração por genótipo para apresentar gráficos.
tbua_gen <- tbua_ue %>%
    group_by(gen) %>%
    summarise_at(vars(SEV_A_med:aucpd_M), "mean")
cap <- "Valores das variáveis severidade máxima (sufixo max) e média (sulfixo med) e área abaixo da curva de progresso (prefixo aucpd) para as ferrugens alaranjada (A) e marrom (M) para os 35 genótipos selecionados."
knitr::kable(tbua_gen, caption = cap)
Valores das variáveis severidade máxima (sufixo max) e média (sulfixo med) e área abaixo da curva de progresso (prefixo aucpd) para as ferrugens alaranjada (A) e marrom (M) para os 35 genótipos selecionados.
gen SEV_A_med SEV_M_med SEV_A_max SEV_M_max aucpd_A aucpd_M
PR081019 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR081027 0.05025 0.00000 0.201 0.000 9.7485 0.0000
PR081028 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR081031 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR081032 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR081043 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR081047 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR081050 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR081185 0.06400 0.00000 0.256 0.000 4.9920 0.0000
PR083007 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR085003 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR091104 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR091108 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR091114 0.00000 5.28750 0.000 19.825 0.0000 1188.1375
PR091116 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR091119 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR091141 0.00000 0.09375 0.000 0.375 0.0000 10.5000
PR091142 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR091143 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR091166 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR091169 0.00000 0.22500 0.000 0.775 0.0000 44.7125
PR091171 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR091179 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR091183 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR091184 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR091204 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR091218 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR091219 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR091220 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR091228 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR093047 0.00000 9.95625 0.000 22.525 0.0000 2025.6375
PR093053 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR097052 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PR099448 0.00000 0.00000 0.000 0.000 0.0000 0.0000
PRP08107 0.00000 0.00000 0.000 0.000 0.0000 0.0000
cap <- "Severidade média das ferrugens por genótipo. Genótipos estão ordenados pela severidade em cada gráfico de barras."

gridExtra::grid.arrange(
               ggplot(data = tbua_gen,
                      mapping = aes(y = reorder(gen, SEV_A_med),
                                    x = SEV_A_med)) +
               geom_col() +
               geom_text(mapping = aes(label = sprintf("%0.2f", SEV_A_med)),
                         hjust = 0, nudge_x = 0.001) +
               expand_limits(x = c(0, 0.075)) +
               labs(x = "Severidade de ferrugem alaranjada",
                    y = "Genótipos",
                    caption = "Valores médios sobre blocos e avaliações"),
               ggplot(data = tbua_gen,
                      mapping = aes(y = reorder(gen, SEV_M_med),
                                    x = SEV_M_med)) +
               geom_col() +
               geom_text(mapping = aes(label = sprintf("%0.2f", SEV_M_med)),
                         hjust = 0, nudge_x = 0.2) +
               expand_limits(x = c(0, 12)) +
               labs(x = "Severidade de ferrugem marrom",
                    y = "Genótipos",
                    caption = "Valores médios sobre blocos e avaliações"),
               nrow = 1)
Severidade média das ferrugens por genótipo. Genótipos estão ordenados pela severidade em cada gráfico de barras.

Severidade média das ferrugens por genótipo. Genótipos estão ordenados pela severidade em cada gráfico de barras.

cap <- "Severidade máxima das ferrugens por genótipo. Genótipos estão ordenados pela severidade em cada gráfico de barras."

gridExtra::grid.arrange(
               ggplot(data = tbua_gen,
                      mapping = aes(y = reorder(gen, SEV_A_max),
                                    x = SEV_A_max)) +
               geom_col() +
               geom_text(mapping = aes(label = sprintf("%0.2f", SEV_A_max)),
                         hjust = 0, nudge_x = 0.001) +
               expand_limits(x = c(0, 0.34)) +
               labs(x = "Severidade de ferrugem alaranjada",
                    y = "Genótipos",
                    caption = "Valores médios sobre blocos e avaliações"),
               ggplot(data = tbua_gen,
                      mapping = aes(y = reorder(gen, SEV_M_max),
                                    x = SEV_M_max)) +
               geom_col() +
               geom_text(mapping = aes(label = sprintf("%0.2f", SEV_M_max)),
                         hjust = 0, nudge_x = 0.2) +
               expand_limits(x = c(0, 30)) +
               labs(x = "Severidade de ferrugem marrom",
                    y = "Genótipos",
                    caption = "Valores médios sobre blocos e avaliações"),
               nrow = 1)
Severidade máxima das ferrugens por genótipo. Genótipos estão ordenados pela severidade em cada gráfico de barras.

Severidade máxima das ferrugens por genótipo. Genótipos estão ordenados pela severidade em cada gráfico de barras.

cap <- "Área abaixo da curva de progresso da severidade das ferrugens por genótipo. Genótipos estão ordenados pela severidade em cada gráfico de barras."

gridExtra::grid.arrange(
               ggplot(data = tbua_gen,
                      mapping = aes(y = reorder(gen, aucpd_A),
                                    x = aucpd_A)) +
               geom_col() +
               geom_text(mapping = aes(label = sprintf("%0.2f", aucpd_A)),
                         hjust = 0, nudge_x = 0.2) +
               expand_limits(x = c(0, 13)) +
               labs(x = "Área abaixo da curva de\nseveridade de ferrugem alaranjada",
                    y = "Genótipos",
                    caption = "Valores médios sobre blocos e avaliações"),
               ggplot(data = tbua_gen,
                      mapping = aes(y = reorder(gen, aucpd_M),
                                    x = aucpd_M)) +
               geom_col() +
               geom_text(mapping = aes(label = sprintf("%0.0f", aucpd_M)),
                         hjust = 0, nudge_x = 50) +
               expand_limits(x = c(0, 2700)) +
               labs(x = "Área abaixo da curva de\nseveridade de ferrugem marrom",
                    y = "Genótipos",
                    caption = "Valores médios sobre blocos e avaliações"),
               nrow = 1)
Área abaixo da curva de progresso da severidade das ferrugens por genótipo. Genótipos estão ordenados pela severidade em cada gráfico de barras.

Área abaixo da curva de progresso da severidade das ferrugens por genótipo. Genótipos estão ordenados pela severidade em cada gráfico de barras.

6 Análise estatística

Em função da grande maioria dos genótipos não apresentarem a doença, decidiu-se por não realizar a análise estatística para comparação dos genótipos. Sem que ocorra a doença, os valores observados são todos 0 e portanto não há variância entre as repetições. Dessa forma, ao fazer a análise de variância pode-se subestimar drasticamente a variância residual. Ainda, se a análise for feita para apenas para os materiais susceptiveis, não haverá ganho prático pois o interesse é em discriminar e ranquear os materiais resistentes.