Analysis Cercospora Proth

Author

Anderson Cerutti

Data and packages

Packages

library(tidyverse)
library(lme4)
library(emmeans)
library(ggplot2)
library(car)
library(performance)
library(patchwork)
library(sjPlot)
library(flextable)
library(multcomp)
library(multcompView)

conflicted::conflict_prefer("select", "dplyr")
conflicted::conflict_prefer("filter", "dplyr")

Data

PROTH_desc

PROTH_data <- readxl::read_xlsx("Data/Cercospora_PROTH_measure.xlsx","PROTH")
PROTH_desc <- readxl::read_xlsx("Data/Cercospora_PROTH_description.xlsx", "PROTH")
PROTH_data_disease <-  PROTH_data
PROTH_data_yield   <-  PROTH_desc
  
n_lesion_plot <- PROTH_data_disease %>%
  filter(lesion_n > 0) %>%
  group_by(year, trial_ID, plot) %>%
  summarise(
    CPB = mean(CPB, na.rm = TRUE),
    n_lesion = n(),
    .groups = "drop",
    inc  = (n_lesion * 100)/50)

PROTH_yield_data <- PROTH_data_yield %>% 
  mutate(
     yld = weight_12/(80/43560), 
     kg_ha = yld*1.2085) %>% 
  dplyr::select(year, trial_ID, trial, env, field, plot, blk, trt, 
                  gen, fung, stage, rate, total, head, yld, kg_ha, NBLS)

CERC_PROTH_data <- right_join(PROTH_yield_data, n_lesion_plot,
                  by = c("year","trial_ID","plot")) %>%
                  filter(!field %in% c("WIN")) %>%
  mutate(
    pressure = ifelse(inc > median(inc), "high", "low"))

CERC_PROTH_data

Analysis

Descriptive

# Produtividade
ggplot(CERC_PROTH_data, aes(x = rate, y = kg_ha, color = trt)) +
  geom_boxplot() +
  geom_point(size=2) +
  geom_smooth(method = "lm", se = FALSE) +
  theme_bw() +
  facet_wrap(~env)

# Produtividade X Rate (BLK)
ggplot(CERC_PROTH_data, aes(x = rate, y = kg_ha, color = trt)) +
  geom_boxplot() +
  geom_point(size=2) +
  geom_smooth(method = "lm", se = FALSE) +
  theme_bw() +
  facet_wrap(~blk)

# Relação entre CPB e produtividade
ggplot(CERC_PROTH_data, aes(x = CPB, y = kg_ha, group = stage, color = stage)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE) +
  theme_minimal()

# Relação entre NBLS e produtividade
ggplot(CERC_PROTH_data, aes(NBLS, kg_ha, group = stage, color = stage)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE) +
  theme_minimal()

ggplot(CERC_PROTH_data, aes(x= pressure, kg_ha, group = pressure)) +
  geom_boxplot()

Fitting

mix_yld  <- lmer(kg_ha ~ 1 + ( 1 | blk), data=CERC_PROTH_data, REML=F)
mix_yld1 <- lmer(kg_ha ~ pressure + (pressure | blk), data=CERC_PROTH_data, REML=F)
mix_yld2 <- lmer(kg_ha ~ pressure + (1 | pressure), data=CERC_PROTH_data, REML=F)
mix_yld3 <- lmer(kg_ha ~ pressure + (1 | blk), data=CERC_PROTH_data, REML=F)
mix_yld4 <- lmer(kg_ha ~ pressure + (1 | trt/blk), data=CERC_PROTH_data, REML=F)
mix_yld5 <- lmer(kg_ha ~ pressure * rate * (1 | trt/blk), data=CERC_PROTH_data, REML=F)
mix_yld6 <- lmer(kg_ha ~ pressure * rate * (1 | pressure/blk), data=CERC_PROTH_data, REML=F)
mix_yld7 <- lmer(kg_ha ~ rate * (1 | trt/blk), data=CERC_PROTH_data, REML=F)

AIC(mix_yld, mix_yld1, mix_yld2, mix_yld3, mix_yld4, mix_yld5, mix_yld6, mix_yld7)
BIC(mix_yld, mix_yld1, mix_yld2, mix_yld3, mix_yld4, mix_yld5, mix_yld6, mix_yld7)
anova(mix_yld5, mix_yld6)
summary(mix_yld5)
Linear mixed model fit by maximum likelihood  ['lmerMod']
Formula: kg_ha ~ pressure * rate * (1 | trt/blk)
   Data: CERC_PROTH_data

      AIC       BIC    logLik -2*log(L)  df.resid 
   1033.8    1057.7    -505.9    1011.8        54 

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-3.7668 -0.3921  0.0587  0.5157  1.9271 

Random effects:
 Groups   Name        Variance Std.Dev.
 blk:trt  (Intercept)      0     0.0   
 trt      (Intercept)      0     0.0   
 Residual             337076   580.6   
Number of obs: 65, groups:  blk:trt, 24; trt, 6

Fixed effects:
                    Estimate Std. Error t value
(Intercept)          5276.93     193.53  27.267
pressurelow           642.09     256.01   2.508
rate2x                258.89     256.01   1.011
rate4x                332.34     305.99   1.086
rateUTC              -279.77     387.05  -0.723
pressurelow:rate2x    -83.06     356.85  -0.233
pressurelow:rate4x   -159.60     434.90  -0.367
pressurelow:rateUTC   563.16     469.08   1.201

Correlation of Fixed Effects:
            (Intr) prssrl rate2x rate4x ratUTC prss:2 prss:4
pressurelow -0.756                                          
rate2x      -0.756  0.571                                   
rate4x      -0.632  0.478  0.478                            
rateUTC     -0.500  0.378  0.378  0.316                     
prssrlw:rt2  0.542 -0.717 -0.717 -0.343 -0.271              
prssrlw:rt4  0.445 -0.589 -0.336 -0.704 -0.222  0.422       
prssrlw:UTC  0.413 -0.546 -0.312 -0.261 -0.825  0.392  0.321
optimizer (nloptwrap) convergence code: 0 (OK)
boundary (singular) fit: see help('isSingular')
summary(mix_yld6)
Linear mixed model fit by maximum likelihood  ['lmerMod']
Formula: kg_ha ~ pressure * rate * (1 | pressure/blk)
   Data: CERC_PROTH_data

      AIC       BIC    logLik -2*log(L)  df.resid 
   1033.8    1057.7    -505.9    1011.8        54 

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-3.7668 -0.3921  0.0587  0.5157  1.9271 

Random effects:
 Groups       Name        Variance Std.Dev.
 blk:pressure (Intercept)      0     0.0   
 pressure     (Intercept)      0     0.0   
 Residual                 337076   580.6   
Number of obs: 65, groups:  blk:pressure, 8; pressure, 2

Fixed effects:
                    Estimate Std. Error t value
(Intercept)          5276.93     193.53  27.267
pressurelow           642.09     256.01   2.508
rate2x                258.89     256.01   1.011
rate4x                332.34     305.99   1.086
rateUTC              -279.77     387.05  -0.723
pressurelow:rate2x    -83.06     356.85  -0.233
pressurelow:rate4x   -159.60     434.90  -0.367
pressurelow:rateUTC   563.16     469.08   1.201

Correlation of Fixed Effects:
            (Intr) prssrl rate2x rate4x ratUTC prss:2 prss:4
pressurelow -0.756                                          
rate2x      -0.756  0.571                                   
rate4x      -0.632  0.478  0.478                            
rateUTC     -0.500  0.378  0.378  0.316                     
prssrlw:rt2  0.542 -0.717 -0.717 -0.343 -0.271              
prssrlw:rt4  0.445 -0.589 -0.336 -0.704 -0.222  0.422       
prssrlw:UTC  0.413 -0.546 -0.312 -0.261 -0.825  0.392  0.321
optimizer (nloptwrap) convergence code: 0 (OK)
boundary (singular) fit: see help('isSingular')
summary(mix_yld7)
Linear mixed model fit by maximum likelihood  ['lmerMod']
Formula: kg_ha ~ rate * (1 | trt/blk)
   Data: CERC_PROTH_data

      AIC       BIC    logLik -2*log(L)  df.resid 
   1045.2    1060.4    -515.6    1031.2        58 

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-2.8359 -0.5898  0.1982  0.6635  1.8036 

Random effects:
 Groups   Name        Variance Std.Dev.
 blk:trt  (Intercept)      0     0.0   
 trt      (Intercept)      0     0.0   
 Residual             454447   674.1   
Number of obs: 65, groups:  blk:trt, 24; trt, 6

Fixed effects:
            Estimate Std. Error t value
(Intercept)   5643.8      147.1  38.366
rate2x         146.1      205.7   0.710
rate4x         184.7      250.9   0.736
rateUTC        229.9      250.9   0.916

Correlation of Fixed Effects:
        (Intr) rate2x rate4x
rate2x  -0.715              
rate4x  -0.586  0.419       
rateUTC -0.586  0.419  0.344
optimizer (nloptwrap) convergence code: 0 (OK)
boundary (singular) fit: see help('isSingular')
YLD_emm_kg <- emmeans(mix_yld5, ~ rate * pressure)
print(cld(YLD_emm_kg, alpha = 0.05, Letters = letters))
 rate pressure emmean  SE    df lower.CL upper.CL .group
 UTC  high       4997 362 25.09     4251     5743  a    
 1x   high       5277 211 12.93     4821     5733  a    
 2x   high       5536 185  7.40     5103     5968  a    
 4x   high       5609 255  7.77     5017     6201  a    
 1x   low        5919 184  7.40     5489     6349  a    
 4x   low        6092 284 11.00     5468     6716  a    
 2x   low        6095 203 10.19     5643     6547  a    
 UTC  low        6202 220  4.45     5616     6788  a    

Degrees-of-freedom method: kenward-roger 
Confidence level used: 0.95 
P value adjustment: tukey method for comparing a family of 8 estimates 
significance level used: alpha = 0.05 
NOTE: If two or more means share the same grouping symbol,
      then we cannot show them to be different.
      But we also did not show them to be the same.