This documentation contains the LMM modeling procedure for the article mentioned above. For more method details, see the methdos section of the article.

In this documentation, dataroot refers to subdatasets with _RA, for datastem subdatasets, ending _AAA was used.

setup

setwd("C:/Users/Jenny/Dropbox/Diss/Auswertung/vitality_I")
load("C:/Users/Jenny/Dropbox/Diss/Auswertung/vitality_I/vitality_I.RData")
library(vegan)
library(lme4)
library(lmerTest)
library(sjstats)
library(multcomp)
library(merTools)
library(r2glmm)
library(car)

Models

Inflorescence density (flowers/cm inflorescence length)

Infl dens: plant age

dataset <- vita_all[complete.cases(vita_all$infl_dens) & complete.cases(vita_all$RA), ]   # clean for NA for considered 
dataset_infl_dens_RA <- dataset
shapiro.test(dataset$infl_dens)   # not normally distributed, but looks ok
## 
##  Shapiro-Wilk normality test
## 
## data:  dataset$infl_dens
## W = 0.96502, p-value = 3.277e-05
hist(dataset$infl_dens)

pairwise.wilcox.test(dataset$infl_dens, dataset$man)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$infl_dens and dataset$man 
## 
##      F Ma none
## Ma   1 -  -   
## none 1 1  -   
## S    1 1  1   
## 
## P value adjustment method: holm
pairwise.wilcox.test(dataset$infl_dens, dataset$grazing)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$infl_dens and dataset$grazing 
## 
##               deer horses/cattle no sheep fenced sheep trad
## horses/cattle 1    -             -  -            -         
## no            1    1             -  -            -         
## sheep fenced  1    1             1  -            -         
## sheep trad    1    1             1  1            -         
## sheep trad+   1    1             1  1            1         
## 
## P value adjustment method: holm
# no sign


m4 <- lmer(infl_dens ~ RA + (1|area), data = dataset)
m4g <- lmer(infl_dens ~ RA + p_a_r + (1|area), data = dataset)
m4gi <- lmer(infl_dens ~ RA * p_a_r + (1|area), data = dataset)

m6 <- lmer(infl_dens ~ poly(RA,2) + (1|area), data = dataset)
m6g <- lmer(infl_dens ~ poly(RA,2) + p_a_r + (1|area), data = dataset)
m6gi <- lmer(infl_dens ~ poly(RA,2) * p_a_r  + (1|area), data = dataset)

anova(m4, m4g, m4gi, m6, m6g, m6gi)
## Data: dataset
## Models:
## m4: infl_dens ~ RA + (1 | area)
## m6: infl_dens ~ poly(RA, 2) + (1 | area)
## m4g: infl_dens ~ RA + p_a_r + (1 | area)
## m6g: infl_dens ~ poly(RA, 2) + p_a_r + (1 | area)
## m4gi: infl_dens ~ RA * p_a_r + (1 | area)
## m6gi: infl_dens ~ poly(RA, 2) * p_a_r + (1 | area)
##      npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)  
## m4      4 1150.4 1164.0 -571.22   1142.4                       
## m6      5 1151.8 1168.7 -570.89   1141.8 0.6567  1    0.41771  
## m4g     6 1148.2 1168.5 -568.10   1136.2 5.5777  1    0.01819 *
## m6g     7 1150.1 1173.8 -568.05   1136.1 0.0902  1    0.76392  
## m4gi    8 1148.2 1175.3 -566.10   1132.2 3.9038  1    0.04818 *
## m6gi   11 1152.4 1189.6 -565.20   1130.4 1.8096  3    0.61285  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(m4g, m4gi)
## Data: dataset
## Models:
## m4g: infl_dens ~ RA + p_a_r + (1 | area)
## m4gi: infl_dens ~ RA * p_a_r + (1 | area)
##      npar    AIC    BIC logLik deviance Chisq Df Pr(>Chisq)
## m4g     6 1148.2 1168.5 -568.1   1136.2                    
## m4gi    8 1148.2 1175.3 -566.1   1132.2 3.994  2     0.1357
# m4g or m4gi, both are similar in AIC and deviance

summary(m4g)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: infl_dens ~ RA + p_a_r + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 1140.3
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.53870 -0.48898  0.01757  0.56224  2.55932 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept)  0.00    0.000   
##  Residual             10.94    3.308   
## Number of obs: 218, groups:  area, 19
## 
## Fixed effects:
##               Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)   7.712010   0.736625 214.000000  10.469   <2e-16 ***
## RA            0.032641   0.045709 214.000000   0.714   0.4759    
## p_a_rp       -1.142952   0.588635 214.000000  -1.942   0.0535 .  
## p_a_rr        0.003478   0.724877 214.000000   0.005   0.9962    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##        (Intr) RA     p_a_rp
## RA     -0.729              
## p_a_rp -0.705  0.162       
## p_a_rr -0.606  0.177  0.625
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
m7 <- lmer(infl_dens ~ p_a_r + (1|area), data = dataset)
anova(m4g, m7)
## Data: dataset
## Models:
## m7: infl_dens ~ p_a_r + (1 | area)
## m4g: infl_dens ~ RA + p_a_r + (1 | area)
##     npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)
## m7     5 1146.7 1163.6 -568.36   1136.7                     
## m4g    6 1148.2 1168.5 -568.10   1136.2 0.5189  1     0.4713
# it is not significantly better when including age!
  • visual pretests show that there are no differences in management and only weak in area
  • no influence of age detected.
# model_infl_dens_RA <- m7
model <- model_infl_dens_RA
plot(model)

qqnorm(residuals(model))
qqline(residuals(model), lwd=2, col="red")

leveneTest(residuals(model) ~ dataset$p_a_r)
## Warning in leveneTest.default(y = y, group = group, ...): group coerced to
## factor.
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value  Pr(>F)  
## group   2  2.4777 0.08633 .
##       215                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(residuals(model) ~ dataset$p_a_r)

leveneTest(residuals(model) ~ dataset$area)
## Warning in leveneTest.default(y = y, group = group, ...): group coerced to
## factor.
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  18   1.027 0.4311
##       199
boxplot(residuals(model) ~ dataset$area)

leveneTest(residuals(model) ~ dataset$man)
## Warning in leveneTest.default(y = y, group = group, ...): group coerced to
## factor.
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group   3   1.567 0.1984
##       214
boxplot(residuals(model) ~ dataset$man)

leveneTest(residuals(model) ~ dataset$grazing)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group   5    0.68 0.6391
##       212
boxplot(residuals(model) ~ dataset$grazing)

no heteroscedasticity, deviations from normality acceptable due to binary predictor

summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: infl_dens ~ p_a_r + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 1136.5
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.45016 -0.48464  0.00311  0.54961  2.48665 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept)  0.00    0.000   
##  Residual             10.92    3.304   
## Number of obs: 218, groups:  area, 19
## 
## Fixed effects:
##              Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)   8.09535    0.50386 215.00000  16.067   <2e-16 ***
## p_a_rp       -1.21126    0.58015 215.00000  -2.088    0.038 *  
## p_a_rr       -0.08837    0.71256 215.00000  -0.124    0.901    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##        (Intr) p_a_rp
## p_a_rp -0.868       
## p_a_rr -0.707  0.614
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
r2beta(model)
##   Effect   Rsq upper.CL lower.CL
## 1  Model 0.046    0.142    0.006
## 2 p_a_rp 0.031    0.111    0.001
## 3 p_a_rr 0.000    0.037    0.000
anova(model)
## Type III Analysis of Variance Table with Satterthwaite's method
##       Sum Sq Mean Sq NumDF DenDF F value  Pr(>F)  
## p_a_r 71.095  35.547     2   215  3.2563 0.04044 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Plot_test <- confint(glht(model, mcp(p_a_r = "Tukey")))
summary(Plot_test)
## 
##   Simultaneous Tests for General Linear Hypotheses
## 
## Multiple Comparisons of Means: Tukey Contrasts
## 
## 
## Fit: lmer(formula = infl_dens ~ p_a_r + (1 | area), data = dataset)
## 
## Linear Hypotheses:
##            Estimate Std. Error z value Pr(>|z|)  
## p - a == 0 -1.21126    0.58015  -2.088   0.0907 .
## r - a == 0 -0.08837    0.71256  -0.124   0.9914  
## r - p == 0  1.12289    0.58015   1.936   0.1266  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## (Adjusted p values reported -- single-step method)

infl dens: stem age

dataset <- vita_all[complete.cases(vita_all$infl_dens) & complete.cases(vita_all$AAA), ]   # clean for NA for considered 
dataset_infl_dens_AAA <- dataset

shapiro.test(dataset$infl_dens)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataset$infl_dens
## W = 0.95588, p-value = 2.833e-10
hist(dataset$infl_dens)

pairwise.wilcox.test(dataset$infl_dens, dataset$man)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$infl_dens and dataset$man 
## 
##      F Ma none
## Ma   1 -  -   
## none 1 1  -   
## S    1 1  1   
## 
## P value adjustment method: holm
pairwise.wilcox.test(dataset$infl_dens, dataset$grazing)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$infl_dens and dataset$grazing 
## 
##               deer horses/cattle no sheep fenced sheep trad
## horses/cattle 1    -             -  -            -         
## no            1    1             -  -            -         
## sheep fenced  1    1             1  -            -         
## sheep trad    1    1             1  1            -         
## sheep trad+   1    1             1  1            1         
## 
## P value adjustment method: holm
# no sign

m8 <- lmer(infl_dens ~ AAA + (1|area), data = dataset)
m8g <- lmer(infl_dens ~ AAA + p_a_r + (1|area), data = dataset)
m8gi <- lmer(infl_dens ~ AAA * p_a_r + (1|area), data = dataset)

m10 <- lmer(infl_dens ~ poly(AAA,2) + (1|area), data = dataset)
m10g <- lmer(infl_dens ~ poly(AAA,2) + p_a_r  + (1|area), data = dataset)
m10gi <- lmer(infl_dens ~ poly(AAA,2) * p_a_r + (1|area), data = dataset)

anova(m8, m8g, m8gi, m10, m10g, m10gi)
## Data: dataset
## Models:
## m8: infl_dens ~ AAA + (1 | area)
## m10: infl_dens ~ poly(AAA, 2) + (1 | area)
## m8g: infl_dens ~ AAA + p_a_r + (1 | area)
## m10g: infl_dens ~ poly(AAA, 2) + p_a_r + (1 | area)
## m8gi: infl_dens ~ AAA * p_a_r + (1 | area)
## m10gi: infl_dens ~ poly(AAA, 2) * p_a_r + (1 | area)
##       npar    AIC    BIC  logLik deviance   Chisq Df Pr(>Chisq)    
## m8       4 2294.3 2310.7 -1143.2   2286.3                          
## m10      5 2291.8 2312.3 -1140.9   2281.8  4.5444  1   0.033026 *  
## m8g      6 2279.1 2303.7 -1133.5   2267.1 14.7003  1   0.000126 ***
## m10g     7 2278.7 2307.4 -1132.4   2264.7  2.3766  1   0.123168    
## m8gi     8 2276.4 2309.2 -1130.2   2260.4  4.3459  1   0.037098 *  
## m10gi   11 2273.6 2318.7 -1125.8   2251.6  8.7568  3   0.032706 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(m8gi, m10gi)
## Data: dataset
## Models:
## m8gi: infl_dens ~ AAA * p_a_r + (1 | area)
## m10gi: infl_dens ~ poly(AAA, 2) * p_a_r + (1 | area)
##       npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)  
## m8gi     8 2276.4 2309.2 -1130.2   2260.4                       
## m10gi   11 2273.6 2318.7 -1125.8   2251.6 8.7568  3    0.03271 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# m10gi
# model_infl_dens_AAA <- m10gi

model <- model_infl_dens_AAA
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: infl_dens ~ poly(AAA, 2) * p_a_r + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 2219.1
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.5475 -0.5902  0.0109  0.5777  3.2240 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.002262 0.04756 
##  Residual             9.413495 3.06814 
## Number of obs: 445, groups:  area, 19
## 
## Fixed effects:
##                      Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)            7.5124     0.2460  21.8349  30.539  < 2e-16 ***
## poly(AAA, 2)1          3.3116     5.5707 433.7765   0.594  0.55250    
## poly(AAA, 2)2         -2.6266     5.4130 407.0989  -0.485  0.62777    
## p_a_rp                -0.9596     0.3208 435.5391  -2.992  0.00293 ** 
## p_a_rr                 1.3718     0.8766 435.5786   1.565  0.11835    
## poly(AAA, 2)1:p_a_rp  18.2834     6.8163 431.1011   2.682  0.00759 ** 
## poly(AAA, 2)2:p_a_rp  -7.6953     6.7742 413.5179  -1.136  0.25663    
## poly(AAA, 2)1:p_a_rr  28.3390    27.3390 428.9972   1.037  0.30052    
## poly(AAA, 2)2:p_a_rr  29.7873    19.8812 433.0076   1.498  0.13479    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##                   (Intr) pl(AAA,2)1 pl(AAA,2)2 p_a_rp p_a_rr ply(AAA,2)1:p__rp
## ply(AAA,2)1        0.005                                                      
## ply(AAA,2)2        0.216  0.132                                               
## p_a_rp            -0.764 -0.003     -0.166                                    
## p_a_rr            -0.279 -0.001     -0.061      0.214                         
## ply(AAA,2)1:p__rp -0.004 -0.817     -0.108     -0.026  0.001                  
## ply(AAA,2)2:p__rp -0.172 -0.105     -0.799      0.075  0.049  0.047           
## ply(AAA,2)1:p__rr -0.001 -0.204     -0.027      0.001  0.812  0.167           
## ply(AAA,2)2:p__rr -0.058 -0.036     -0.272      0.045  0.671  0.029           
##                   ply(AAA,2)2:p__rp ply(AAA,2)1:p__rr
## ply(AAA,2)1                                          
## ply(AAA,2)2                                          
## p_a_rp                                               
## p_a_rr                                               
## ply(AAA,2)1:p__rp                                    
## ply(AAA,2)2:p__rp                                    
## ply(AAA,2)1:p__rr  0.022                             
## ply(AAA,2)2:p__rr  0.218             0.744
plot(model)

qqnorm(residuals(model))
qqline(residuals(model), lwd=2, col="red")

leveneTest(residuals(model) ~ dataset$p_a_r)
## Warning in leveneTest.default(y = y, group = group, ...): group coerced to
## factor.
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value    Pr(>F)    
## group   2  8.3807 0.0002677 ***
##       442                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(residuals(model) ~ dataset$p_a_r)

leveneTest(residuals(model) ~ dataset$area)
## Warning in leveneTest.default(y = y, group = group, ...): group coerced to
## factor.
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value  Pr(>F)  
## group  18  1.4664 0.09779 .
##       426                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(residuals(model) ~ dataset$area)

heteroscedasticity detected in p_a_r, but boxplot shows it is acceptable. deviance from normality is acceptable

summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: infl_dens ~ poly(AAA, 2) * p_a_r + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 2219.1
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.5475 -0.5902  0.0109  0.5777  3.2240 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.002262 0.04756 
##  Residual             9.413495 3.06814 
## Number of obs: 445, groups:  area, 19
## 
## Fixed effects:
##                      Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)            7.5124     0.2460  21.8349  30.539  < 2e-16 ***
## poly(AAA, 2)1          3.3116     5.5707 433.7765   0.594  0.55250    
## poly(AAA, 2)2         -2.6266     5.4130 407.0989  -0.485  0.62777    
## p_a_rp                -0.9596     0.3208 435.5391  -2.992  0.00293 ** 
## p_a_rr                 1.3718     0.8766 435.5786   1.565  0.11835    
## poly(AAA, 2)1:p_a_rp  18.2834     6.8163 431.1011   2.682  0.00759 ** 
## poly(AAA, 2)2:p_a_rp  -7.6953     6.7742 413.5179  -1.136  0.25663    
## poly(AAA, 2)1:p_a_rr  28.3390    27.3390 428.9972   1.037  0.30052    
## poly(AAA, 2)2:p_a_rr  29.7873    19.8812 433.0076   1.498  0.13479    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##                   (Intr) pl(AAA,2)1 pl(AAA,2)2 p_a_rp p_a_rr ply(AAA,2)1:p__rp
## ply(AAA,2)1        0.005                                                      
## ply(AAA,2)2        0.216  0.132                                               
## p_a_rp            -0.764 -0.003     -0.166                                    
## p_a_rr            -0.279 -0.001     -0.061      0.214                         
## ply(AAA,2)1:p__rp -0.004 -0.817     -0.108     -0.026  0.001                  
## ply(AAA,2)2:p__rp -0.172 -0.105     -0.799      0.075  0.049  0.047           
## ply(AAA,2)1:p__rr -0.001 -0.204     -0.027      0.001  0.812  0.167           
## ply(AAA,2)2:p__rr -0.058 -0.036     -0.272      0.045  0.671  0.029           
##                   ply(AAA,2)2:p__rp ply(AAA,2)1:p__rr
## ply(AAA,2)1                                          
## ply(AAA,2)2                                          
## p_a_rp                                               
## p_a_rr                                               
## ply(AAA,2)1:p__rp                                    
## ply(AAA,2)2:p__rp                                    
## ply(AAA,2)1:p__rr  0.022                             
## ply(AAA,2)2:p__rr  0.218             0.744
r2beta(model)
##                 Effect   Rsq upper.CL lower.CL
## 1                Model 0.103    0.173    0.068
## 4               p_a_rp 0.020    0.053    0.002
## 6 poly(AAA, 2)1:p_a_rp 0.016    0.047    0.001
## 5               p_a_rr 0.005    0.027    0.000
## 9 poly(AAA, 2)2:p_a_rr 0.005    0.026    0.000
## 7 poly(AAA, 2)2:p_a_rp 0.003    0.021    0.000
## 8 poly(AAA, 2)1:p_a_rr 0.002    0.020    0.000
## 2        poly(AAA, 2)1 0.001    0.015    0.000
## 3        poly(AAA, 2)2 0.001    0.014    0.000
anova(model)
## Type III Analysis of Variance Table with Satterthwaite's method
##                     Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## poly(AAA, 2)        51.034  25.517     2 432.79  2.7107 0.0676188 .  
## p_a_r              132.260  66.130     2 435.67  7.0250 0.0009936 ***
## poly(AAA, 2):p_a_r 122.674  30.668     4 429.14  3.2579 0.0119415 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Plot_test <- confint(glht(model, mcp(p_a_r = "Tukey")))
summary(Plot_test)
## 
##   Simultaneous Tests for General Linear Hypotheses
## 
## Multiple Comparisons of Means: Tukey Contrasts
## 
## 
## Fit: lmer(formula = infl_dens ~ poly(AAA, 2) * p_a_r + (1 | area), 
##     data = dataset)
## 
## Linear Hypotheses:
##            Estimate Std. Error z value Pr(>|z|)   
## p - a == 0  -0.9596     0.3208  -2.992  0.00676 **
## r - a == 0   1.3718     0.8766   1.565  0.24303   
## r - p == 0   2.3314     0.8665   2.691  0.01698 * 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## (Adjusted p values reported -- single-step method)
0.002262      /(0.002262      +9.413495      )
## [1] 0.0002402356

proportion blooming long shoots

proportion blooming long shoots - plant age

dataset <- vita_all[complete.cases(vita_all$prop_blooming) & complete.cases(vita_all$RA), ]   # clean for NA for considered 
dataset_prop_bloom_RA <- dataset

shapiro.test(dataset$prop_blooming)    # not normally distributed
## 
##  Shapiro-Wilk normality test
## 
## data:  dataset$prop_blooming
## W = 0.92544, p-value = 4.717e-09
hist(dataset$prop_blooming)

hist(sqrt(dataset$prop_blooming))

pairwise.wilcox.test(dataset$prop_blooming, dataset$man)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$prop_blooming and dataset$man 
## 
##      F    Ma   none
## Ma   0.14 -    -   
## none 0.11 1.00 -   
## S    1.00 0.16 0.11
## 
## P value adjustment method: holm
pairwise.wilcox.test(dataset$prop_blooming, dataset$grazing)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$prop_blooming and dataset$grazing 
## 
##               deer horses/cattle no   sheep fenced sheep trad
## horses/cattle 1.00 -             -    -            -         
## no            1.00 0.25          -    -            -         
## sheep fenced  1.00 1.00          1.00 -            -         
## sheep trad    1.00 0.51          1.00 1.00         -         
## sheep trad+   1.00 0.51          1.00 1.00         1.00      
## 
## P value adjustment method: holm
# no sign

m4 <- lmer(prop_blooming ~ RA + (1|area), data = dataset)
m4g <- lmer(prop_blooming ~ RA + p_a_r + (1|area), data = dataset)
m4gi <- lmer(prop_blooming ~ RA * p_a_r + (1|area), data = dataset)

m6 <- lmer(prop_blooming ~ poly(RA,2) + (1|area), data = dataset)
m6g <- lmer(prop_blooming ~ poly(RA,2) + p_a_r + (1|area), data = dataset)
m6gi <- lmer(prop_blooming ~ poly(RA,2) * p_a_r + (1|area), data = dataset)

anova(m4, m4g, m4gi, m6, m6g, m6gi)
## Data: dataset
## Models:
## m4: prop_blooming ~ RA + (1 | area)
## m6: prop_blooming ~ poly(RA, 2) + (1 | area)
## m4g: prop_blooming ~ RA + p_a_r + (1 | area)
## m6g: prop_blooming ~ poly(RA, 2) + p_a_r + (1 | area)
## m4gi: prop_blooming ~ RA * p_a_r + (1 | area)
## m6gi: prop_blooming ~ poly(RA, 2) * p_a_r + (1 | area)
##      npar    AIC    BIC  logLik deviance   Chisq Df Pr(>Chisq)    
## m4      4 2068.0 2081.5 -1030.0   2060.0                          
## m6      5 2067.3 2084.2 -1028.6   2057.3  2.7236  1  0.0988758 .  
## m4g     6 2055.8 2076.1 -1021.9   2043.8 13.4548  1  0.0002444 ***
## m6g     7 2057.1 2080.8 -1021.5   2043.1  0.7080  1  0.4000945    
## m4gi    8 2058.5 2085.6 -1021.3   2042.5  0.5789  1  0.4467535    
## m6gi   11 2063.9 2101.1 -1020.9   2041.9  0.6577  3  0.8830956    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# including growth phase makes model much better

anova(m4g, m6g) # m4g is simpler
## Data: dataset
## Models:
## m4g: prop_blooming ~ RA + p_a_r + (1 | area)
## m6g: prop_blooming ~ poly(RA, 2) + p_a_r + (1 | area)
##     npar    AIC    BIC  logLik deviance Chisq Df Pr(>Chisq)
## m4g    6 2055.8 2076.1 -1021.9   2043.8                    
## m6g    7 2057.1 2080.8 -1021.5   2043.1 0.708  1     0.4001
# model_prop_bloom_RA <- m4g

# model diagnostics
model <- model_prop_bloom_RA
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: prop_blooming ~ RA + p_a_r + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 2031.2
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.2581 -0.6678  0.1431  0.7904  1.8487 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept)   0.0     0.00   
##  Residual             703.4    26.52   
## Number of obs: 218, groups:  area, 19
## 
## Fixed effects:
##             Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)  72.1165     5.9063 214.0000  12.210  < 2e-16 ***
## RA           -1.4456     0.3665 214.0000  -3.944 0.000108 ***
## p_a_rp      -11.5737     4.7197 214.0000  -2.452 0.014999 *  
## p_a_rr        5.7695     5.8121 214.0000   0.993 0.321996    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##        (Intr) RA     p_a_rp
## RA     -0.729              
## p_a_rp -0.705  0.162       
## p_a_rr -0.606  0.177  0.625
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
plot(model)

qqnorm(residuals(model))
qqline(residuals(model), lwd=2, col="red")

leveneTest(residuals(model) ~ dataset$p_a_r)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)  
## group   2  2.4295 0.0905 .
##       215                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(residuals(model) ~ dataset$p_a_r)

leveneTest(residuals(model) ~ dataset$area)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  18   0.847 0.6432
##       199
boxplot(residuals(model) ~ dataset$area)

patterning in residuals and deviance from normality ok, no heteroscedasticity.

summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: prop_blooming ~ RA + p_a_r + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 2031.2
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.2581 -0.6678  0.1431  0.7904  1.8487 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept)   0.0     0.00   
##  Residual             703.4    26.52   
## Number of obs: 218, groups:  area, 19
## 
## Fixed effects:
##             Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)  72.1165     5.9063 214.0000  12.210  < 2e-16 ***
## RA           -1.4456     0.3665 214.0000  -3.944 0.000108 ***
## p_a_rp      -11.5737     4.7197 214.0000  -2.452 0.014999 *  
## p_a_rr        5.7695     5.8121 214.0000   0.993 0.321996    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##        (Intr) RA     p_a_rp
## RA     -0.729              
## p_a_rp -0.705  0.162       
## p_a_rr -0.606  0.177  0.625
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
r2beta(model)
##   Effect   Rsq upper.CL lower.CL
## 1  Model 0.190    0.320    0.099
## 2     RA 0.103    0.212    0.028
## 3 p_a_rp 0.042    0.129    0.002
## 4 p_a_rr 0.007    0.062    0.000
anova(model)
## Type III Analysis of Variance Table with Satterthwaite's method
##       Sum Sq Mean Sq NumDF DenDF F value    Pr(>F)    
## RA     10943 10943.4     1   214 15.5576 0.0001085 ***
## p_a_r  11596  5798.1     2   214  8.2429 0.0003559 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Plot_test <- confint(glht(model, mcp(p_a_r = "Tukey")))
summary(Plot_test)
## 
##   Simultaneous Tests for General Linear Hypotheses
## 
## Multiple Comparisons of Means: Tukey Contrasts
## 
## 
## Fit: lmer(formula = prop_blooming ~ RA + p_a_r + (1 | area), data = dataset)
## 
## Linear Hypotheses:
##            Estimate Std. Error z value Pr(>|z|)    
## p - a == 0  -11.574      4.720  -2.452    0.037 *  
## r - a == 0    5.769      5.812   0.993    0.577    
## r - p == 0   17.343      4.664   3.718   <0.001 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## (Adjusted p values reported -- single-step method)

Fit: lmer(formula = prop_blooming ~ RA + p_a_r + (1 | area), data = dataset)

Linear Hypotheses: Estimate Std. Error z value Pr(>|z|)
p - a == 0 -11.574 4.720 -2.452 0.0369 *
r - a == 0 5.769 5.812 0.993 0.5773
r - p == 0 17.343 4.664 3.718 <0.001 *** — Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Adjusted p values reported – single-step method)

proportion blooming long shoots - stem age

dataset <- vita_all[complete.cases(vita_all$prop_blooming) & complete.cases(vita_all$AAA), ]   # clean for NA for considered 
dataset_prop_bloom_AAA <- dataset

shapiro.test(dataset$prop_blooming)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataset$prop_blooming
## W = 0.92961, p-value = 1.274e-13
hist(dataset$prop_blooming)

hist(sqrt(dataset$prop_blooming))

hist(asin(sqrt(dataset$prop_blooming/100)*2/pi))

pairwise.wilcox.test(dataset$prop_blooming, dataset$man)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$prop_blooming and dataset$man 
## 
##      F     Ma    none 
## Ma   0.367 -     -    
## none 0.090 1.000 -    
## S    1.000 0.367 0.098
## 
## P value adjustment method: holm
pairwise.wilcox.test(dataset$prop_blooming, dataset$grazing)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$prop_blooming and dataset$grazing 
## 
##               deer horses/cattle no sheep fenced sheep trad
## horses/cattle 1    -             -  -            -         
## no            1    1             -  -            -         
## sheep fenced  1    1             1  -            -         
## sheep trad    1    1             1  1            -         
## sheep trad+   1    1             1  1            1         
## 
## P value adjustment method: holm
# no sign

m8 <- lmer(prop_blooming ~ AAA + (1|area), data = dataset)
m8g <- lmer(prop_blooming ~ AAA + p_a_r + (1|area), data = dataset)
m8gi <- lmer(prop_blooming ~ AAA * p_a_r + (1|area), data = dataset)

m10 <- lmer(prop_blooming ~ poly(AAA,2) + (1|area), data = dataset)
m10g <- lmer(prop_blooming ~ poly(AAA,2) + p_a_r  + (1|area), data = dataset)
m10gi <- lmer(prop_blooming ~ poly(AAA,2) * p_a_r + (1|area), data = dataset)

anova(m8, m8g, m8gi, m10, m10g, m10gi)
## Data: dataset
## Models:
## m8: prop_blooming ~ AAA + (1 | area)
## m10: prop_blooming ~ poly(AAA, 2) + (1 | area)
## m8g: prop_blooming ~ AAA + p_a_r + (1 | area)
## m10g: prop_blooming ~ poly(AAA, 2) + p_a_r + (1 | area)
## m8gi: prop_blooming ~ AAA * p_a_r + (1 | area)
## m10gi: prop_blooming ~ poly(AAA, 2) * p_a_r + (1 | area)
##       npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)    
## m8       4 4222.1 4238.4 -2107.0   4214.1                         
## m10      5 4193.4 4213.9 -2091.7   4183.4 30.632  1  3.119e-08 ***
## m8g      6 4170.4 4195.0 -2079.2   4158.4 25.052  1  5.580e-07 ***
## m10g     7 4150.0 4178.7 -2068.0   4136.0 22.332  1  2.293e-06 ***
## m8gi     8 4174.3 4207.1 -2079.2   4158.3  0.000  1          1    
## m10gi   11 4156.7 4201.8 -2067.3   4134.7 23.618  3  3.002e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(m10g, m10gi)   # m10g
## Data: dataset
## Models:
## m10g: prop_blooming ~ poly(AAA, 2) + p_a_r + (1 | area)
## m10gi: prop_blooming ~ poly(AAA, 2) * p_a_r + (1 | area)
##       npar    AIC    BIC  logLik deviance Chisq Df Pr(>Chisq)
## m10g     7 4150.0 4178.7 -2068.0   4136.0                    
## m10gi   11 4156.7 4201.8 -2067.3   4134.7 1.337  4     0.8551
# model_prop_bloom_AAA <- m10g

# model diagnostics
model <- model_prop_bloom_AAA
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: prop_blooming ~ poly(AAA, 2) + p_a_r + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 4108.1
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.3682 -0.8381  0.1572  0.7165  2.2351 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept)  28.29    5.319  
##  Residual             626.93   25.039  
## Number of obs: 445, groups:  area, 19
## 
## Fixed effects:
##               Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)     54.926      2.441   67.734  22.506  < 2e-16 ***
## poly(AAA, 2)1  132.592     25.787  438.631   5.142 4.11e-07 ***
## poly(AAA, 2)2 -122.714     25.759  439.593  -4.764 2.58e-06 ***
## p_a_rp         -14.390      2.633  438.755  -5.466 7.74e-08 ***
## p_a_rr           8.634      4.078  439.944   2.117   0.0348 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) p(AAA,2)1 p(AAA,2)2 p_a_rp
## ply(AAA,2)1 -0.027                           
## ply(AAA,2)2  0.105  0.012                    
## p_a_rp      -0.633 -0.035    -0.177          
## p_a_rr      -0.399  0.158    -0.047     0.365
plot(model)

qqnorm(residuals(model))
qqline(residuals(model), lwd=2, col="red")

leveneTest(residuals(model) ~ dataset$p_a_r)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value    Pr(>F)    
## group   2  10.446 3.692e-05 ***
##       442                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(residuals(model) ~ dataset$p_a_r)

leveneTest(residuals(model) ~ dataset$area)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  18  0.8273 0.6681
##       426
boxplot(residuals(model) ~ dataset$area)

heteroscedasticity in p_a_r, but acceptable. deviance from normality acceptable, too.

summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: prop_blooming ~ poly(AAA, 2) + p_a_r + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 4108.1
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.3682 -0.8381  0.1572  0.7165  2.2351 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept)  28.29    5.319  
##  Residual             626.93   25.039  
## Number of obs: 445, groups:  area, 19
## 
## Fixed effects:
##               Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)     54.926      2.441   67.734  22.506  < 2e-16 ***
## poly(AAA, 2)1  132.592     25.787  438.631   5.142 4.11e-07 ***
## poly(AAA, 2)2 -122.714     25.759  439.593  -4.764 2.58e-06 ***
## p_a_rp         -14.390      2.633  438.755  -5.466 7.74e-08 ***
## p_a_rr           8.634      4.078  439.944   2.117   0.0348 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) p(AAA,2)1 p(AAA,2)2 p_a_rp
## ply(AAA,2)1 -0.027                           
## ply(AAA,2)2  0.105  0.012                    
## p_a_rp      -0.633 -0.035    -0.177          
## p_a_rr      -0.399  0.158    -0.047     0.365
r2beta(model)
##          Effect   Rsq upper.CL lower.CL
## 1         Model 0.185    0.254    0.131
## 4        p_a_rp 0.062    0.111    0.026
## 2 poly(AAA, 2)1 0.055    0.102    0.022
## 3 poly(AAA, 2)2 0.048    0.093    0.017
## 5        p_a_rr 0.010    0.036    0.000
anova(model)
## Type III Analysis of Variance Table with Satterthwaite's method
##              Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## poly(AAA, 2)  31177   15589     2 439.18  24.865 5.890e-11 ***
## p_a_r         30984   15492     2 439.27  24.711 6.764e-11 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Plot_test <- confint(glht(model, mcp(p_a_r = "Tukey")))
summary(Plot_test)
## 
##   Simultaneous Tests for General Linear Hypotheses
## 
## Multiple Comparisons of Means: Tukey Contrasts
## 
## 
## Fit: lmer(formula = prop_blooming ~ poly(AAA, 2) + p_a_r + (1 | area), 
##     data = dataset)
## 
## Linear Hypotheses:
##            Estimate Std. Error z value Pr(>|z|)    
## p - a == 0  -14.390      2.633  -5.466   <0.001 ***
## r - a == 0    8.634      4.078   2.117   0.0834 .  
## r - p == 0   23.024      3.964   5.809   <0.001 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## (Adjusted p values reported -- single-step method)
28.29              /(28.29            + 626.93           )
## [1] 0.04317634

nr flowers/plant

nr of flowers/ - plant age

dataset <- vita_all[complete.cases(vita_all$blossom_per_plant) & complete.cases(vita_all$RA), ]   # clean for NA for considered 
dataset_nr_flowers_RA <- dataset

shapiro.test(dataset$blossom_per_plant)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataset$blossom_per_plant
## W = 0.46131, p-value < 2.2e-16
hist(dataset$blossom_per_plant)

hist(sqrt(dataset$blossom_per_plant))

pairwise.wilcox.test(dataset$blossom_per_plant, dataset$man)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$blossom_per_plant and dataset$man 
## 
##      F    Ma   none
## Ma   0.76 -    -   
## none 1.00 1.00 -   
## S    1.00 0.66 1.00
## 
## P value adjustment method: holm
pairwise.wilcox.test(dataset$blossom_per_plant, dataset$grazing)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$blossom_per_plant and dataset$grazing 
## 
##               deer horses/cattle no sheep fenced sheep trad
## horses/cattle 1    -             -  -            -         
## no            1    1             -  -            -         
## sheep fenced  1    1             1  -            -         
## sheep trad    1    1             1  1            -         
## sheep trad+   1    1             1  1            1         
## 
## P value adjustment method: holm
# no sign

m4 <- lmer(sqrt(blossom_per_plant) ~ RA + (1|area), data = dataset)
m4g <- lmer(sqrt(blossom_per_plant) ~ RA + p_a_r + (1|area), data = dataset)
m4gi <- lmer(sqrt(blossom_per_plant) ~ RA * p_a_r + (1|area), data = dataset)

m6 <- lmer(sqrt(blossom_per_plant) ~ poly(RA,2) + (1|area), data = dataset)
m6g <- lmer(sqrt(blossom_per_plant) ~ poly(RA,2) + p_a_r + (1|area), data = dataset)
m6gi <- lmer(sqrt(blossom_per_plant) ~ poly(RA,2) * p_a_r + (1|area), data = dataset)

anova(m4, m4g, m4gi, m6, m6g, m6gi)
## Data: dataset
## Models:
## m4: sqrt(blossom_per_plant) ~ RA + (1 | area)
## m6: sqrt(blossom_per_plant) ~ poly(RA, 2) + (1 | area)
## m4g: sqrt(blossom_per_plant) ~ RA + p_a_r + (1 | area)
## m6g: sqrt(blossom_per_plant) ~ poly(RA, 2) + p_a_r + (1 | area)
## m4gi: sqrt(blossom_per_plant) ~ RA * p_a_r + (1 | area)
## m6gi: sqrt(blossom_per_plant) ~ poly(RA, 2) * p_a_r + (1 | area)
##      npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)   
## m4      4 2228.2 2241.7 -1110.1   2220.2                        
## m6      5 2222.8 2239.7 -1106.4   2212.8 7.3991  1   0.006526 **
## m4g     6 2228.9 2249.2 -1108.5   2216.9 0.0000  1   1.000000   
## m6g     7 2224.9 2248.6 -1105.5   2210.9 5.9436  1   0.014771 * 
## m4gi    8 2224.4 2251.4 -1104.2   2208.4 2.5927  1   0.107355   
## m6gi   11 2226.4 2263.7 -1102.2   2204.4 3.9186  3   0.270387   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(m6, m6g, m4gi)  # m6 is best
## Data: dataset
## Models:
## m6: sqrt(blossom_per_plant) ~ poly(RA, 2) + (1 | area)
## m6g: sqrt(blossom_per_plant) ~ poly(RA, 2) + p_a_r + (1 | area)
## m4gi: sqrt(blossom_per_plant) ~ RA * p_a_r + (1 | area)
##      npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)
## m6      5 2222.8 2239.7 -1106.4   2212.8                     
## m6g     7 2224.9 2248.6 -1105.5   2210.9 1.8478  2     0.3970
## m4gi    8 2224.4 2251.4 -1104.2   2208.4 2.5927  1     0.1074
# model_blossoms_RA <- m6

model <- model_blossoms_RA
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(blossom_per_plant) ~ poly(RA, 2) + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 2190.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -1.5643 -0.6357 -0.1668  0.4555  5.7230 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept)   30.53   5.525  
##  Residual             1496.32  38.682  
## Number of obs: 218, groups:  area, 19
## 
## Fixed effects:
##              Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)    40.911      3.164    4.965  12.929 5.17e-05 ***
## poly(RA, 2)1  187.021     40.114  106.409   4.662 9.12e-06 ***
## poly(RA, 2)2 -106.612     39.265  205.343  -2.715  0.00719 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) p(RA,2)1
## poly(RA,2)1 -0.087         
## poly(RA,2)2  0.021 -0.011
plot(model)

qqnorm(residuals(model))
qqline(residuals(model), lwd=2, col="red")

leveneTest(residuals(model) ~ dataset$area)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  18  0.3962 0.9875
##       199
boxplot(residuals(model) ~ dataset$area)

leveneTest(residuals(model) ~ as.factor(dataset$RA))
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)  
## group  23  1.8501 0.0135 *
##       194                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot(residuals(model) ~ dataset$RA)

heteroscedasticity detected in RA… obvious in residuals plot, keep in mind for predicition validity

summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(blossom_per_plant) ~ poly(RA, 2) + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 2190.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -1.5643 -0.6357 -0.1668  0.4555  5.7230 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept)   30.53   5.525  
##  Residual             1496.32  38.682  
## Number of obs: 218, groups:  area, 19
## 
## Fixed effects:
##              Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)    40.911      3.164    4.965  12.929 5.17e-05 ***
## poly(RA, 2)1  187.021     40.114  106.409   4.662 9.12e-06 ***
## poly(RA, 2)2 -106.612     39.265  205.343  -2.715  0.00719 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) p(RA,2)1
## poly(RA,2)1 -0.087         
## poly(RA,2)2  0.021 -0.011
r2beta(model)
##         Effect   Rsq upper.CL lower.CL
## 1        Model 0.183    0.307    0.088
## 2 poly(RA, 2)1 0.144    0.261    0.055
## 3 poly(RA, 2)2 0.052    0.144    0.004
anova(model)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq Mean Sq NumDF DenDF F value    Pr(>F)    
## poly(RA, 2)  43161   21580     2 138.5  14.422 2.043e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
30.53         /(30.53      +1496.32 )
## [1] 0.01999542

nr flowers/ plant - stem age

dataset <- vita_all[complete.cases(vita_all$blossom_per_plant) & complete.cases(vita_all$AAA), ]   # clean for NA for considered 
dataset_nr_flowers_AAA <- dataset

shapiro.test(dataset$blossom_per_plant)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataset$blossom_per_plant
## W = 0.50751, p-value < 2.2e-16
hist(dataset$blossom_per_plant)

hist(sqrt(dataset$blossom_per_plant))

pairwise.wilcox.test(dataset$blossom_per_plant, dataset$man)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$blossom_per_plant and dataset$man 
## 
##      F Ma none
## Ma   1 -  -   
## none 1 1  -   
## S    1 1  1   
## 
## P value adjustment method: holm
pairwise.wilcox.test(dataset$blossom_per_plant, dataset$grazing)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$blossom_per_plant and dataset$grazing 
## 
##               deer horses/cattle no sheep fenced sheep trad
## horses/cattle 1    -             -  -            -         
## no            1    1             -  -            -         
## sheep fenced  1    1             1  -            -         
## sheep trad    1    1             1  1            -         
## sheep trad+   1    1             1  1            1         
## 
## P value adjustment method: holm
# no sign

m8 <- lmer(sqrt(blossom_per_plant) ~ AAA + (1|area), data = dataset)
m8g <- lmer(sqrt(blossom_per_plant) ~ AAA + p_a_r + (1|area), data = dataset)
m8gi <- lmer(sqrt(blossom_per_plant) ~ AAA * p_a_r + (1|area), data = dataset)

m10 <- lmer(sqrt(blossom_per_plant) ~ poly(AAA,2) + (1|area), data = dataset)
m10g <- lmer(sqrt(blossom_per_plant) ~ poly(AAA,2) + p_a_r  + (1|area), data = dataset)
m10gi <- lmer(sqrt(blossom_per_plant) ~ poly(AAA,2) * p_a_r + (1|area), data = dataset)

anova(m8, m8g, m8gi, m10, m10g, m10gi)
## Data: dataset
## Models:
## m8: sqrt(blossom_per_plant) ~ AAA + (1 | area)
## m10: sqrt(blossom_per_plant) ~ poly(AAA, 2) + (1 | area)
## m8g: sqrt(blossom_per_plant) ~ AAA + p_a_r + (1 | area)
## m10g: sqrt(blossom_per_plant) ~ poly(AAA, 2) + p_a_r + (1 | area)
## m8gi: sqrt(blossom_per_plant) ~ AAA * p_a_r + (1 | area)
## m10gi: sqrt(blossom_per_plant) ~ poly(AAA, 2) * p_a_r + (1 | area)
##       npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)    
## m8       4 4523.7 4540.1 -2257.8   4515.7                         
## m10      5 4506.7 4527.2 -2248.3   4496.7 19.008  1  1.302e-05 ***
## m8g      6 4510.1 4534.7 -2249.1   4498.1  0.000  1  1.0000000    
## m10g     7 4497.0 4525.7 -2241.5   4483.0 15.087  1  0.0001026 ***
## m8gi     8 4497.3 4530.0 -2240.6   4481.3  1.755  1  0.1852491    
## m10gi   11 4488.8 4533.8 -2233.4   4466.8 14.480  3  0.0023194 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(m10g, m10gi, m8gi)   # m10gi is best
## Data: dataset
## Models:
## m10g: sqrt(blossom_per_plant) ~ poly(AAA, 2) + p_a_r + (1 | area)
## m8gi: sqrt(blossom_per_plant) ~ AAA * p_a_r + (1 | area)
## m10gi: sqrt(blossom_per_plant) ~ poly(AAA, 2) * p_a_r + (1 | area)
##       npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)   
## m10g     7 4497.0 4525.7 -2241.5   4483.0                        
## m8gi     8 4497.3 4530.0 -2240.6   4481.3  1.755  1   0.185249   
## m10gi   11 4488.8 4533.8 -2233.4   4466.8 14.480  3   0.002319 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# model_blossoms_AAA <- m10gi


# model diagnostics
model <- model_blossoms_AAA
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(blossom_per_plant) ~ poly(AAA, 2) * p_a_r + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 4388.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.2813 -0.5460 -0.1989  0.3685  5.9734 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept)   36.92   6.076  
##  Residual             1341.32  36.624  
## Number of obs: 445, groups:  area, 19
## 
## Fixed effects:
##                      Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)            50.271      3.390   43.477  14.829  < 2e-16 ***
## poly(AAA, 2)1         407.182     67.097  435.587   6.069 2.81e-09 ***
## poly(AAA, 2)2        -175.073     65.470  435.581  -2.674 0.007775 ** 
## p_a_rp                 -9.141      3.856  434.810  -2.371 0.018189 *  
## p_a_rr                 40.022     10.516  429.595   3.806 0.000162 ***
## poly(AAA, 2)1:p_a_rp  114.566     82.138  435.624   1.395 0.163789    
## poly(AAA, 2)2:p_a_rp   55.294     81.793  435.938   0.676 0.499386    
## poly(AAA, 2)1:p_a_rr 1187.935    327.289  426.119   3.630 0.000318 ***
## poly(AAA, 2)2:p_a_rr  433.313    239.236  433.828   1.811 0.070796 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##                   (Intr) pl(AAA,2)1 pl(AAA,2)2 p_a_rp p_a_rr ply(AAA,2)1:p__rp
## ply(AAA,2)1        0.014                                                      
## ply(AAA,2)2        0.176  0.128                                               
## p_a_rp            -0.671 -0.002     -0.166                                    
## p_a_rr            -0.238 -0.006     -0.068      0.215                         
## ply(AAA,2)1:p__rp -0.024 -0.818     -0.103     -0.026  0.004                  
## ply(AAA,2)2:p__rp -0.138 -0.101     -0.801      0.077  0.055  0.043           
## ply(AAA,2)1:p__rr  0.001 -0.203     -0.031      0.001  0.811  0.165           
## ply(AAA,2)2:p__rr -0.029 -0.031     -0.277      0.041  0.667  0.022           
##                   ply(AAA,2)2:p__rp ply(AAA,2)1:p__rr
## ply(AAA,2)1                                          
## ply(AAA,2)2                                          
## p_a_rp                                               
## p_a_rr                                               
## ply(AAA,2)1:p__rp                                    
## ply(AAA,2)2:p__rp                                    
## ply(AAA,2)1:p__rr  0.027                             
## ply(AAA,2)2:p__rr  0.226             0.742
plot(model)

qqnorm(residuals(model))
qqline(residuals(model), lwd=2, col="red")

leveneTest(residuals(model) ~ dataset$p_a_r)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group   2  1.0445 0.3527
##       442
boxplot(residuals(model) ~ dataset$p_a_r)

leveneTest(residuals(model) ~ dataset$area)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  18  1.1643 0.2876
##       426
boxplot(residuals(model) ~ dataset$area)

leveneTest(residuals(model) ~ as.factor(dataset$AAA))
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)   
## group  18  2.1007 0.0054 **
##       426                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

heteroscedasticity concerning AAA… keep im mind that may bias the predictions

summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(blossom_per_plant) ~ poly(AAA, 2) * p_a_r + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 4388.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.2813 -0.5460 -0.1989  0.3685  5.9734 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept)   36.92   6.076  
##  Residual             1341.32  36.624  
## Number of obs: 445, groups:  area, 19
## 
## Fixed effects:
##                      Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)            50.271      3.390   43.477  14.829  < 2e-16 ***
## poly(AAA, 2)1         407.182     67.097  435.587   6.069 2.81e-09 ***
## poly(AAA, 2)2        -175.073     65.470  435.581  -2.674 0.007775 ** 
## p_a_rp                 -9.141      3.856  434.810  -2.371 0.018189 *  
## p_a_rr                 40.022     10.516  429.595   3.806 0.000162 ***
## poly(AAA, 2)1:p_a_rp  114.566     82.138  435.624   1.395 0.163789    
## poly(AAA, 2)2:p_a_rp   55.294     81.793  435.938   0.676 0.499386    
## poly(AAA, 2)1:p_a_rr 1187.935    327.289  426.119   3.630 0.000318 ***
## poly(AAA, 2)2:p_a_rr  433.313    239.236  433.828   1.811 0.070796 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##                   (Intr) pl(AAA,2)1 pl(AAA,2)2 p_a_rp p_a_rr ply(AAA,2)1:p__rp
## ply(AAA,2)1        0.014                                                      
## ply(AAA,2)2        0.176  0.128                                               
## p_a_rp            -0.671 -0.002     -0.166                                    
## p_a_rr            -0.238 -0.006     -0.068      0.215                         
## ply(AAA,2)1:p__rp -0.024 -0.818     -0.103     -0.026  0.004                  
## ply(AAA,2)2:p__rp -0.138 -0.101     -0.801      0.077  0.055  0.043           
## ply(AAA,2)1:p__rr  0.001 -0.203     -0.031      0.001  0.811  0.165           
## ply(AAA,2)2:p__rr -0.029 -0.031     -0.277      0.041  0.667  0.022           
##                   ply(AAA,2)2:p__rp ply(AAA,2)1:p__rr
## ply(AAA,2)1                                          
## ply(AAA,2)2                                          
## p_a_rp                                               
## p_a_rr                                               
## ply(AAA,2)1:p__rp                                    
## ply(AAA,2)2:p__rp                                    
## ply(AAA,2)1:p__rr  0.027                             
## ply(AAA,2)2:p__rr  0.226             0.742
r2beta(model)
##                 Effect   Rsq upper.CL lower.CL
## 1                Model 0.333    0.405    0.276
## 2        poly(AAA, 2)1 0.076    0.128    0.036
## 5               p_a_rr 0.031    0.070    0.007
## 8 poly(AAA, 2)1:p_a_rr 0.028    0.066    0.006
## 3        poly(AAA, 2)2 0.016    0.047    0.001
## 4               p_a_rp 0.012    0.041    0.000
## 9 poly(AAA, 2)2:p_a_rr 0.007    0.031    0.000
## 6 poly(AAA, 2)1:p_a_rp 0.004    0.025    0.000
## 7 poly(AAA, 2)2:p_a_rp 0.001    0.016    0.000
anova(model)
## Type III Analysis of Variance Table with Satterthwaite's method
##                    Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## poly(AAA, 2)       164964   82482     2 432.56 61.4933 < 2.2e-16 ***
## p_a_r               33734   16867     2 432.01 12.5748 4.919e-06 ***
## poly(AAA, 2):p_a_r  21787    5447     4 433.36  4.0608  0.003042 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Plot_test <- confint(glht(model, mcp(p_a_r = "Tukey")))
summary(Plot_test)
## 
##   Simultaneous Tests for General Linear Hypotheses
## 
## Multiple Comparisons of Means: Tukey Contrasts
## 
## 
## Fit: lmer(formula = sqrt(blossom_per_plant) ~ poly(AAA, 2) * p_a_r + 
##     (1 | area), data = dataset)
## 
## Linear Hypotheses:
##            Estimate Std. Error z value Pr(>|z|)    
## p - a == 0   -9.141      3.856  -2.371   0.0422 *  
## r - a == 0   40.022     10.516   3.806   <0.001 ***
## r - p == 0   49.163     10.393   4.730   <0.001 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## (Adjusted p values reported -- single-step method)
36.92         /(36.92         +1341.32)
## [1] 0.02678779

length of inflorescence [cm]

length of inflorescence [cm] - plant age

dataset <- vita_all[complete.cases(vita_all$l_infl) & complete.cases(vita_all$RA), ]   # clean for NA for considered 
dataset_l_infl_RA <- dataset

shapiro.test(dataset$l_infl)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataset$l_infl
## W = 0.89918, p-value = 6.052e-11
hist(dataset$l_infl)

shapiro.test(sqrt(dataset$l_infl))    
## 
##  Shapiro-Wilk normality test
## 
## data:  sqrt(dataset$l_infl)
## W = 0.96573, p-value = 4.004e-05
hist(sqrt(dataset$l_infl))

pairwise.wilcox.test(dataset$l_infl, dataset$man)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$l_infl and dataset$man 
## 
##      F      Ma     none  
## Ma   0.0060 -      -     
## none 0.0049 0.5103 -     
## S    0.4708 0.5103 0.5103
## 
## P value adjustment method: holm
pairwise.wilcox.test(dataset$l_infl, dataset$grazing)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$l_infl and dataset$grazing 
## 
##               deer  horses/cattle no    sheep fenced sheep trad
## horses/cattle 1.000 -             -     -            -         
## no            0.343 0.915         -     -            -         
## sheep fenced  1.000 1.000         0.083 -            -         
## sheep trad    1.000 1.000         0.083 1.000        -         
## sheep trad+   1.000 1.000         1.000 1.000        1.000     
## 
## P value adjustment method: holm
# man is sign

m8 <- lmer(sqrt(l_infl) ~ RA + (1|area) + (1|man), data = dataset)
m8g <- lmer(sqrt(l_infl) ~ RA + p_a_r + (1|area) + (1|man), data = dataset)
m8gi <- lmer(sqrt(l_infl) ~ RA * p_a_r  + (1|area)+ (1|man), data = dataset)

m10 <- lmer(sqrt(l_infl) ~ poly(RA,2)  + (1|area)+ (1|man), data = dataset)
m10g <- lmer(sqrt(l_infl) ~ poly(RA,2) + p_a_r  + (1|area)+ (1|man), data = dataset)
m10gi <- lmer(sqrt(l_infl) ~ poly(RA,2) * p_a_r  + (1|area) + (1|man), data = dataset)

anova(m8, m8g, m8gi, m10, m10g, m10gi)
## Data: dataset
## Models:
## m8: sqrt(l_infl) ~ RA + (1 | area) + (1 | man)
## m10: sqrt(l_infl) ~ poly(RA, 2) + (1 | area) + (1 | man)
## m8g: sqrt(l_infl) ~ RA + p_a_r + (1 | area) + (1 | man)
## m10g: sqrt(l_infl) ~ poly(RA, 2) + p_a_r + (1 | area) + (1 | man)
## m8gi: sqrt(l_infl) ~ RA * p_a_r + (1 | area) + (1 | man)
## m10gi: sqrt(l_infl) ~ poly(RA, 2) * p_a_r + (1 | area) + (1 | man)
##       npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)   
## m8       5 504.10 521.03 -247.05   494.10                        
## m10      6 505.90 526.21 -246.95   493.90 0.2064  1   0.649576   
## m8g      7 499.43 523.13 -242.72   485.43 8.4639  1   0.003623 **
## m10g     8 501.39 528.46 -242.69   485.39 0.0480  1   0.826577   
## m8gi     9 500.94 531.40 -241.47   482.94 2.4512  1   0.117434   
## m10gi   12 505.17 545.79 -240.59   481.17 1.7622  3   0.623185   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(m8g, m8gi)  # m8g
## Data: dataset
## Models:
## m8g: sqrt(l_infl) ~ RA + p_a_r + (1 | area) + (1 | man)
## m8gi: sqrt(l_infl) ~ RA * p_a_r + (1 | area) + (1 | man)
##      npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)
## m8g     7 499.43 523.13 -242.72   485.43                     
## m8gi    9 500.94 531.40 -241.47   482.94 2.4992  2     0.2866
# model_l_infl_RA <- m8g

# model diagnostics
model <- model_l_infl_RA
summary(model) 
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(l_infl) ~ RA + p_a_r + (1 | area) + (1 | man)
##    Data: dataset
## 
## REML criterion at convergence: 500.7
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.57902 -0.65126  0.09763  0.67535  2.77262 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.03411  0.1847  
##  man      (Intercept) 0.00000  0.0000  
##  Residual             0.53058  0.7284  
## Number of obs: 218, groups:  area, 19; man, 4
## 
## Fixed effects:
##              Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)   1.95646    0.17972 131.55432  10.886  < 2e-16 ***
## RA           -0.03132    0.01077 193.53659  -2.908  0.00406 ** 
## p_a_rp       -0.17929    0.13302 213.86147  -1.348  0.17912    
## p_a_rr        0.19782    0.16213 213.14154   1.220  0.22376    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##        (Intr) RA     p_a_rp
## RA     -0.736              
## p_a_rp -0.633  0.147       
## p_a_rr -0.532  0.147  0.622
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
plot(model)

qqnorm(residuals(model))
qqline(residuals(model))

leveneTest(residuals(model) ~ dataset$p_a_r)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group   2  0.6065 0.5462
##       215
boxplot(residuals(model) ~ dataset$p_a_r)

leveneTest(residuals(model) ~ dataset$area)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  18  0.9661 0.5005
##       199
boxplot(residuals(model) ~ dataset$area)

leveneTest(residuals(model) ~ dataset$man)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group   3  0.3653 0.7781
##       214
boxplot(residuals(model) ~ dataset$man)

leveneTest(residuals(model) ~ as.factor(dataset$RA))
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  23  0.8618 0.6494
##       194

ok

summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(l_infl) ~ RA + p_a_r + (1 | area) + (1 | man)
##    Data: dataset
## 
## REML criterion at convergence: 500.7
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.57902 -0.65126  0.09763  0.67535  2.77262 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.03411  0.1847  
##  man      (Intercept) 0.00000  0.0000  
##  Residual             0.53058  0.7284  
## Number of obs: 218, groups:  area, 19; man, 4
## 
## Fixed effects:
##              Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)   1.95646    0.17972 131.55432  10.886  < 2e-16 ***
## RA           -0.03132    0.01077 193.53659  -2.908  0.00406 ** 
## p_a_rp       -0.17929    0.13302 213.86147  -1.348  0.17912    
## p_a_rr        0.19782    0.16213 213.14154   1.220  0.22376    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##        (Intr) RA     p_a_rp
## RA     -0.736              
## p_a_rp -0.633  0.147       
## p_a_rr -0.532  0.147  0.622
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
r2beta(model)
##   Effect   Rsq upper.CL lower.CL
## 1  Model 0.079    0.166    0.031
## 2     RA 0.041    0.106    0.005
## 3 p_a_rp 0.008    0.049    0.000
## 4 p_a_rr 0.007    0.045    0.000
anova(model)
## Type III Analysis of Variance Table with Satterthwaite's method
##       Sum Sq Mean Sq NumDF  DenDF F value   Pr(>F)   
## RA    4.4878  4.4878     1 193.54  8.4583 0.004059 **
## p_a_r 4.6254  2.3127     2 213.85  4.3589 0.013949 * 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Plot_test <- confint(glht(model, mcp(p_a_r = "Tukey")))
summary(Plot_test)
## 
##   Simultaneous Tests for General Linear Hypotheses
## 
## Multiple Comparisons of Means: Tukey Contrasts
## 
## 
## Fit: lmer(formula = sqrt(l_infl) ~ RA + p_a_r + (1 | area) + (1 | 
##     man), data = dataset)
## 
## Linear Hypotheses:
##            Estimate Std. Error z value Pr(>|z|)  
## p - a == 0  -0.1793     0.1330  -1.348    0.365  
## r - a == 0   0.1978     0.1621   1.220    0.437  
## r - p == 0   0.3771     0.1310   2.878    0.011 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## (Adjusted p values reported -- single-step method)
0.03411       /(0.03411      +0.53058      )   # area
## [1] 0.06040482

length of inflorescence [cm] - stem age

dataset <- vita_all[complete.cases(vita_all$l_infl) & complete.cases(vita_all$AAA), ]   # clean for NA for considered 
dataset_l_infl_AAA <- dataset

hist(dataset$l_infl)

hist(sqrt(dataset$l_infl))

pairwise.wilcox.test(dataset$l_infl, dataset$man)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$l_infl and dataset$man 
## 
##      F       Ma      none   
## Ma   0.00634 -       -      
## none 0.00038 0.81961 -      
## S    0.51912 0.81961 0.81961
## 
## P value adjustment method: holm
pairwise.wilcox.test(dataset$l_infl, dataset$grazing)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$l_infl and dataset$grazing 
## 
##               deer  horses/cattle no    sheep fenced sheep trad
## horses/cattle 1.000 -             -     -            -         
## no            0.199 1.000         -     -            -         
## sheep fenced  1.000 1.000         0.055 -            -         
## sheep trad    1.000 1.000         0.455 0.455        -         
## sheep trad+   1.000 1.000         1.000 1.000        1.000     
## 
## P value adjustment method: holm
# man is sign

m8 <- lmer(sqrt(l_infl) ~ AAA + (1|area) + (1|man), data = dataset)
m8g <- lmer(sqrt(l_infl) ~ AAA + p_a_r + (1|area) + (1|man), data = dataset)
m8gi <- lmer(sqrt(l_infl) ~ AAA * p_a_r  + (1|area)+ (1|man), data = dataset)

m10 <- lmer(sqrt(l_infl) ~ poly(AAA,2)  + (1|area)+ (1|man), data = dataset)
m10g <- lmer(sqrt(l_infl) ~ poly(AAA,2) + p_a_r  + (1|area)+ (1|man), data = dataset)
m10gi <- lmer(sqrt(l_infl) ~ poly(AAA,2) * p_a_r  + (1|area) + (1|man), data = dataset)

anova(m8, m8g, m8gi, m10, m10g, m10gi)
## Data: dataset
## Models:
## m8: sqrt(l_infl) ~ AAA + (1 | area) + (1 | man)
## m10: sqrt(l_infl) ~ poly(AAA, 2) + (1 | area) + (1 | man)
## m8g: sqrt(l_infl) ~ AAA + p_a_r + (1 | area) + (1 | man)
## m10g: sqrt(l_infl) ~ poly(AAA, 2) + p_a_r + (1 | area) + (1 | man)
## m8gi: sqrt(l_infl) ~ AAA * p_a_r + (1 | area) + (1 | man)
## m10gi: sqrt(l_infl) ~ poly(AAA, 2) * p_a_r + (1 | area) + (1 | man)
##       npar     AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)    
## m8       5 1016.37 1036.9 -503.19  1006.37                         
## m10      6 1002.02 1026.6 -495.01   990.02 16.348  1  5.271e-05 ***
## m8g      7  988.51 1017.2 -487.26   974.51 15.513  1  8.195e-05 ***
## m10g     8  977.36 1010.1 -480.68   961.36 13.150  1  0.0002876 ***
## m8gi     9  989.41 1026.3 -485.71   971.41  0.000  1  1.0000000    
## m10gi   12  976.83 1026.0 -476.41   952.83 18.587  3  0.0003328 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(m10g, m10gi)
## Data: dataset
## Models:
## m10g: sqrt(l_infl) ~ poly(AAA, 2) + p_a_r + (1 | area) + (1 | man)
## m10gi: sqrt(l_infl) ~ poly(AAA, 2) * p_a_r + (1 | area) + (1 | man)
##       npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)  
## m10g     8 977.36 1010.1 -480.68   961.36                       
## m10gi   12 976.83 1026.0 -476.41   952.83 8.5348  4    0.07384 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# m10g
# model_l_infl_AAA <- m10g

# model diagnostics
model <- model_l_infl_AAA
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(l_infl) ~ poly(AAA, 2) + p_a_r + (1 | area) + (1 | man)
##    Data: dataset
## 
## REML criterion at convergence: 968.4
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.2446 -0.6114  0.0056  0.6525  3.1324 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.049179 0.22176 
##  man      (Intercept) 0.004773 0.06909 
##  Residual             0.489103 0.69936 
## Number of obs: 445, groups:  area, 19; man, 4
## 
## Fixed effects:
##                Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)     1.60296    0.08972  10.02946  17.866 6.20e-09 ***
## poly(AAA, 2)1   3.96342    0.72950 417.34003   5.433 9.43e-08 ***
## poly(AAA, 2)2  -2.62359    0.72471 436.70679  -3.620 0.000329 ***
## p_a_rp         -0.23490    0.07411 435.20037  -3.170 0.001634 ** 
## p_a_rr          0.36350    0.11626 362.30793   3.127 0.001911 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) p(AAA,2)1 p(AAA,2)2 p_a_rp
## ply(AAA,2)1  0.008                           
## ply(AAA,2)2  0.094  0.017                    
## p_a_rp      -0.471 -0.024    -0.173          
## p_a_rr      -0.340  0.131    -0.057     0.350
plot(model)

qqnorm(residuals(model))
qqline(residuals(model))

leveneTest(residuals(model) ~ dataset$p_a_r)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value  Pr(>F)  
## group   2   3.025 0.04956 *
##       442                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(residuals(model) ~ dataset$p_a_r)

leveneTest(residuals(model) ~ dataset$area)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  18  1.0873 0.3622
##       426
boxplot(residuals(model) ~ dataset$area)

leveneTest(residuals(model) ~ dataset$man)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value  Pr(>F)  
## group   3  3.7709 0.01078 *
##       441                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(residuals(model) ~ dataset$man)

leveneTest(residuals(model) ~ as.factor(dataset$AAA))
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value  Pr(>F)  
## group  18  1.9022 0.01433 *
##       426                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

heteroscedasticity detetcted in p_a_r, man and AAA, but it looks acceptable

summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(l_infl) ~ poly(AAA, 2) + p_a_r + (1 | area) + (1 | man)
##    Data: dataset
## 
## REML criterion at convergence: 968.4
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.2446 -0.6114  0.0056  0.6525  3.1324 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.049179 0.22176 
##  man      (Intercept) 0.004773 0.06909 
##  Residual             0.489103 0.69936 
## Number of obs: 445, groups:  area, 19; man, 4
## 
## Fixed effects:
##                Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)     1.60296    0.08972  10.02946  17.866 6.20e-09 ***
## poly(AAA, 2)1   3.96342    0.72950 417.34003   5.433 9.43e-08 ***
## poly(AAA, 2)2  -2.62359    0.72471 436.70679  -3.620 0.000329 ***
## p_a_rp         -0.23490    0.07411 435.20037  -3.170 0.001634 ** 
## p_a_rr          0.36350    0.11626 362.30793   3.127 0.001911 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) p(AAA,2)1 p(AAA,2)2 p_a_rp
## ply(AAA,2)1  0.008                           
## ply(AAA,2)2  0.094  0.017                    
## p_a_rp      -0.471 -0.024    -0.173          
## p_a_rr      -0.340  0.131    -0.057     0.350
r2beta(model)
##          Effect   Rsq upper.CL lower.CL
## 1         Model 0.136    0.202    0.088
## 2 poly(AAA, 2)1 0.061    0.110    0.026
## 3 poly(AAA, 2)2 0.028    0.065    0.006
## 5        p_a_rr 0.022    0.056    0.003
## 4        p_a_rp 0.022    0.056    0.003
anova(model)
## Type III Analysis of Variance Table with Satterthwaite's method
##              Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## poly(AAA, 2) 21.189 10.5942     2 425.63  21.660 1.100e-09 ***
## p_a_r        14.921  7.4606     2 386.21  15.254 4.208e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Plot_test <- confint(glht(model, mcp(p_a_r = "Tukey")))
summary(Plot_test)
## 
##   Simultaneous Tests for General Linear Hypotheses
## 
## Multiple Comparisons of Means: Tukey Contrasts
## 
## 
## Fit: lmer(formula = sqrt(l_infl) ~ poly(AAA, 2) + p_a_r + (1 | area) + 
##     (1 | man), data = dataset)
## 
## Linear Hypotheses:
##            Estimate Std. Error z value Pr(>|z|)    
## p - a == 0 -0.23490    0.07411  -3.170  0.00410 ** 
## r - a == 0  0.36350    0.11626   3.127  0.00483 ** 
## r - p == 0  0.59839    0.11390   5.254  < 0.001 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## (Adjusted p values reported -- single-step method)
0.049179       /(0.049179    +0.004773       +0.489103          )   # area
## [1] 0.09055989
0.004773    /(0.049179    +0.004773       +0.489103          )  
## [1] 0.008789165

proportion bare long shoot tips [%]

proportion bare long shoot tips [%] - plant age

dataset <- vita_all[complete.cases(vita_all$prop_bare) & complete.cases(vita_all$RA), ]   # clean for NA for considered 
dataset_bare_RA <- dataset

shapiro.test(dataset$prop_bare)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataset$prop_bare
## W = 0.53164, p-value < 2.2e-16
hist(dataset$prop_bare)

hist(sqrt(dataset$prop_bare))

pairwise.wilcox.test(dataset$prop_bare, dataset$man)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$prop_bare and dataset$man 
## 
##      F    Ma   none
## Ma   0.13 -    -   
## none 0.16 0.79 -   
## S    0.22 1.00 1.00
## 
## P value adjustment method: holm
pairwise.wilcox.test(dataset$prop_bare, dataset$grazing)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$prop_bare and dataset$grazing 
## 
##               deer horses/cattle no sheep fenced sheep trad
## horses/cattle 1    -             -  -            -         
## no            1    1             -  -            -         
## sheep fenced  1    1             1  -            -         
## sheep trad    1    1             1  1            -         
## sheep trad+   1    1             1  1            1         
## 
## P value adjustment method: holm
# no sign

m4 <- lmer(sqrt(prop_bare) ~ RA + (1|area), data = dataset)
m4g <- lmer(sqrt(prop_bare) ~ RA + p_a_r + (1|area), data = dataset)
m4gi <- lmer(sqrt(prop_bare) ~ RA * p_a_r  + (1|area), data = dataset)

m6 <- lmer(sqrt(prop_bare) ~ poly(RA,2)  + (1|area), data = dataset)
m6g <- lmer(sqrt(prop_bare) ~ poly(RA,2) + p_a_r  + (1|area), data = dataset)
m6gi <- lmer(sqrt(prop_bare) ~ poly(RA,2) * p_a_r  + (1|area), data = dataset)

anova(m4, m4g, m4gi, m6, m6g, m6gi)
## Data: dataset
## Models:
## m4: sqrt(prop_bare) ~ RA + (1 | area)
## m6: sqrt(prop_bare) ~ poly(RA, 2) + (1 | area)
## m4g: sqrt(prop_bare) ~ RA + p_a_r + (1 | area)
## m6g: sqrt(prop_bare) ~ poly(RA, 2) + p_a_r + (1 | area)
## m4gi: sqrt(prop_bare) ~ RA * p_a_r + (1 | area)
## m6gi: sqrt(prop_bare) ~ poly(RA, 2) * p_a_r + (1 | area)
##      npar    AIC    BIC  logLik deviance   Chisq Df Pr(>Chisq)    
## m4      4 973.99 987.42 -482.99   965.99                          
## m6      5 975.81 992.59 -482.90   965.81  0.1836  1  0.6682783    
## m4g     6 945.27 965.41 -466.64   933.27 32.5335  1  1.172e-08 ***
## m6g     7 946.46 969.96 -466.23   932.46  0.8084  1  0.3686025    
## m4gi    8 933.46 960.31 -458.73   917.46 15.0079  1  0.0001071 ***
## m6gi   11 938.28 975.20 -458.14   916.28  1.1765  3  0.7586402    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# m4gi is best
#model_prop_bare_RA <- m4gi

# model diagnostics
model <- model_prop_bare_RA
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(prop_bare) ~ RA * p_a_r + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 930.9
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.8867 -0.5496 -0.1372  0.4354  3.3415 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.01605  0.1267  
##  Residual             4.55153  2.1334  
## Number of obs: 212, groups:  area, 19
## 
## Fixed effects:
##              Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)  -0.03533    0.90568 188.03867  -0.039 0.968925    
## RA            0.12704    0.07184 202.14167   1.768 0.078508 .  
## p_a_rp       -1.39723    0.98141 205.94116  -1.424 0.156048    
## p_a_rr       -1.27510    1.29684 205.36757  -0.983 0.326648    
## RA:p_a_rp     0.29699    0.07977 205.87391   3.723 0.000254 ***
## RA:p_a_rr     0.09285    0.12114 205.49512   0.766 0.444290    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##           (Intr) RA     p_a_rp p_a_rr RA:p__rp
## RA        -0.932                              
## p_a_rp    -0.918  0.857                       
## p_a_rr    -0.694  0.648  0.641                
## RA:p_a_rp  0.837 -0.899 -0.920 -0.585         
## RA:p_a_rr  0.550 -0.591 -0.509 -0.926  0.533
plot(model)

qqnorm(residuals(model))
qqline(residuals(model), col = "red")

leveneTest(residuals(model) ~ dataset$p_a_r)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value    Pr(>F)    
## group   2  9.0425 0.0001712 ***
##       209                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(residuals(model) ~ dataset$p_a_r)

leveneTest(residuals(model) ~ dataset$area)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  18   0.822  0.673
##       193
boxplot(residuals(model) ~ dataset$area)

leveneTest(residuals(model) ~ as.factor(dataset$RA))
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value    Pr(>F)    
## group  23  3.5011 9.768e-07 ***
##       188                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

variance heterogeneity detected in p_a_r and concerning RA … but acceptable

summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(prop_bare) ~ RA * p_a_r + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 930.9
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.8867 -0.5496 -0.1372  0.4354  3.3415 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.01605  0.1267  
##  Residual             4.55153  2.1334  
## Number of obs: 212, groups:  area, 19
## 
## Fixed effects:
##              Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)  -0.03533    0.90568 188.03867  -0.039 0.968925    
## RA            0.12704    0.07184 202.14167   1.768 0.078508 .  
## p_a_rp       -1.39723    0.98141 205.94116  -1.424 0.156048    
## p_a_rr       -1.27510    1.29684 205.36757  -0.983 0.326648    
## RA:p_a_rp     0.29699    0.07977 205.87391   3.723 0.000254 ***
## RA:p_a_rr     0.09285    0.12114 205.49512   0.766 0.444290    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##           (Intr) RA     p_a_rp p_a_rr RA:p__rp
## RA        -0.932                              
## p_a_rp    -0.918  0.857                       
## p_a_rr    -0.694  0.648  0.641                
## RA:p_a_rp  0.837 -0.899 -0.920 -0.585         
## RA:p_a_rr  0.550 -0.591 -0.509 -0.926  0.533
r2beta(model)
##      Effect   Rsq upper.CL lower.CL
## 1     Model 0.582    0.673    0.494
## 5 RA:p_a_rp 0.094    0.201    0.022
## 2        RA 0.023    0.097    0.000
## 3    p_a_rp 0.015    0.081    0.000
## 4    p_a_rr 0.007    0.062    0.000
## 6 RA:p_a_rr 0.004    0.054    0.000
anova(model)
## Type III Analysis of Variance Table with Satterthwaite's method
##           Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## RA       168.976 168.976     1 168.50 37.1250 7.298e-09 ***
## p_a_r      9.264   4.632     2 205.73  1.0177 0.3632545    
## RA:p_a_r  72.528  36.264     2 205.28  7.9674 0.0004651 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Plot_test <- confint(glht(model, mcp(p_a_r = "Tukey")))
summary(Plot_test)
## 
##   Simultaneous Tests for General Linear Hypotheses
## 
## Multiple Comparisons of Means: Tukey Contrasts
## 
## 
## Fit: lmer(formula = sqrt(prop_bare) ~ RA * p_a_r + (1 | area), data = dataset)
## 
## Linear Hypotheses:
##            Estimate Std. Error z value Pr(>|z|)
## p - a == 0  -1.3972     0.9814  -1.424    0.321
## r - a == 0  -1.2751     1.2968  -0.983    0.580
## r - p == 0   0.1221     1.0063   0.121    0.992
## (Adjusted p values reported -- single-step method)
0.01605            /(0.01605       + 4.55153          )   # area
## [1] 0.003513896

proportion bare long shoot tips [%] - stem age

dataset <- vita_all[complete.cases(vita_all$prop_bare) & complete.cases(vita_all$AAA), ]   # clean for NA for considered 
dataset_bare_AAA <- dataset

hist(dataset$prop_bare)

hist(sqrt(dataset$prop_bare))

pairwise.wilcox.test(dataset$prop_bare, dataset$man)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$prop_bare and dataset$man 
## 
##      F      Ma     none  
## Ma   0.0026 -      -     
## none 0.0013 0.2721 -     
## S    0.2466 0.2048 0.2721
## 
## P value adjustment method: holm
pairwise.wilcox.test(dataset$prop_bare, dataset$grazing)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$prop_bare and dataset$grazing 
## 
##               deer horses/cattle no sheep fenced sheep trad
## horses/cattle 1    -             -  -            -         
## no            1    1             -  -            -         
## sheep fenced  1    1             1  -            -         
## sheep trad    1    1             1  1            -         
## sheep trad+   1    1             1  1            1         
## 
## P value adjustment method: holm
# man sign

m4 <- lmer(sqrt(prop_bare) ~ AAA + (1|area) + (1|man), data = dataset)
m4g <- lmer(sqrt(prop_bare) ~ AAA + p_a_r + (1|area) + (1|man), data = dataset)
m4gi <- lmer(sqrt(prop_bare) ~ AAA * p_a_r  + (1|area)+ (1|man), data = dataset)

m6 <- lmer(sqrt(prop_bare) ~ poly(AAA,2)  + (1|area)+ (1|man), data = dataset)
m6g <- lmer(sqrt(prop_bare) ~ poly(AAA,2) + p_a_r  + (1|area)+ (1|man), data = dataset)
m6gi <- lmer(sqrt(prop_bare) ~ poly(AAA,2) * p_a_r  + (1|area) + (1|man), data = dataset)

anova(m4, m4g, m4gi, m6, m6g, m6gi)
## Data: dataset
## Models:
## m4: sqrt(prop_bare) ~ AAA + (1 | area) + (1 | man)
## m6: sqrt(prop_bare) ~ poly(AAA, 2) + (1 | area) + (1 | man)
## m4g: sqrt(prop_bare) ~ AAA + p_a_r + (1 | area) + (1 | man)
## m6g: sqrt(prop_bare) ~ poly(AAA, 2) + p_a_r + (1 | area) + (1 | man)
## m4gi: sqrt(prop_bare) ~ AAA * p_a_r + (1 | area) + (1 | man)
## m6gi: sqrt(prop_bare) ~ poly(AAA, 2) * p_a_r + (1 | area) + (1 | man)
##      npar    AIC    BIC  logLik deviance   Chisq Df Pr(>Chisq)    
## m4      5 2086.6 2106.9 -1038.3   2076.6                          
## m6      6 2082.2 2106.6 -1035.1   2070.2  6.3677  1    0.01162 *  
## m4g     7 2046.7 2075.1 -1016.3   2032.7 37.5694  1  8.822e-10 ***
## m6g     8 2045.9 2078.4 -1015.0   2029.9  2.7485  1    0.09735 .  
## m4gi    9 2050.5 2087.0 -1016.2   2032.5  0.0000  1    1.00000    
## m6gi   12 2051.8 2100.5 -1013.9   2027.8  4.6627  3    0.19823    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(m4g, m6g)
## Data: dataset
## Models:
## m4g: sqrt(prop_bare) ~ AAA + p_a_r + (1 | area) + (1 | man)
## m6g: sqrt(prop_bare) ~ poly(AAA, 2) + p_a_r + (1 | area) + (1 | man)
##     npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)  
## m4g    7 2046.7 2075.1 -1016.3   2032.7                       
## m6g    8 2045.9 2078.4 -1015.0   2029.9 2.7485  1    0.09735 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# m6g is best
# model_prop_bare_AAA <- m6g

# model diagnostics
model <- model_prop_bare_AAA
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(prop_bare) ~ poly(AAA, 2) + p_a_r + (1 | area) + (1 | man)
##    Data: dataset
## 
## REML criterion at convergence: 2024
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.0583 -0.6404 -0.2599  0.4485  2.9563 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.2514   0.5014  
##  man      (Intercept) 0.1072   0.3274  
##  Residual             6.7489   2.5979  
## Number of obs: 426, groups:  area, 19; man, 4
## 
## Fixed effects:
##               Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)     1.7876     0.3151   5.3570   5.673  0.00189 ** 
## poly(AAA, 2)1  20.0938     2.7060 415.1171   7.426 6.43e-13 ***
## poly(AAA, 2)2   4.5118     2.6742 420.7026   1.687  0.09231 .  
## p_a_rp          1.6448     0.2796 420.5456   5.882 8.27e-09 ***
## p_a_rr         -0.2971     0.4321 345.6863  -0.688  0.49220    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) p(AAA,2)1 p(AAA,2)2 p_a_rp
## ply(AAA,2)1  0.030                           
## ply(AAA,2)2  0.102  0.025                    
## p_a_rp      -0.474 -0.058    -0.159          
## p_a_rr      -0.369  0.133    -0.062     0.328
plot(model)

qqnorm(residuals(model))
qqline(residuals(model))

leveneTest(residuals(model) ~ dataset$p_a_r)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value    Pr(>F)    
## group   2  33.324 3.636e-14 ***
##       423                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(residuals(model) ~ dataset$p_a_r)

leveneTest(residuals(model) ~ dataset$area)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value  Pr(>F)  
## group  18  1.7003 0.03664 *
##       407                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(residuals(model) ~ dataset$area)

leveneTest(residuals(model) ~ as.factor(dataset$AAA))
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  18  0.7991 0.7019
##       407
leveneTest(residuals(model) ~ dataset$man)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)  
## group   3  3.4704 0.0162 *
##       422                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(residuals(model) ~ dataset$man)

heteroscedasticity in p_a_r, area and man, obvious, but acceptable.

summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(prop_bare) ~ poly(AAA, 2) + p_a_r + (1 | area) + (1 | man)
##    Data: dataset
## 
## REML criterion at convergence: 2024
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.0583 -0.6404 -0.2599  0.4485  2.9563 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.2514   0.5014  
##  man      (Intercept) 0.1072   0.3274  
##  Residual             6.7489   2.5979  
## Number of obs: 426, groups:  area, 19; man, 4
## 
## Fixed effects:
##               Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)     1.7876     0.3151   5.3570   5.673  0.00189 ** 
## poly(AAA, 2)1  20.0938     2.7060 415.1171   7.426 6.43e-13 ***
## poly(AAA, 2)2   4.5118     2.6742 420.7026   1.687  0.09231 .  
## p_a_rp          1.6448     0.2796 420.5456   5.882 8.27e-09 ***
## p_a_rr         -0.2971     0.4321 345.6863  -0.688  0.49220    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) p(AAA,2)1 p(AAA,2)2 p_a_rp
## ply(AAA,2)1  0.030                           
## ply(AAA,2)2  0.102  0.025                    
## p_a_rp      -0.474 -0.058    -0.159          
## p_a_rr      -0.369  0.133    -0.062     0.328
r2beta(model)
##          Effect   Rsq upper.CL lower.CL
## 1         Model 0.228    0.300    0.169
## 2 poly(AAA, 2)1 0.114    0.174    0.064
## 4        p_a_rp 0.075    0.128    0.034
## 3 poly(AAA, 2)2 0.007    0.031    0.000
## 5        p_a_rr 0.001    0.017    0.000
anova(model)
## Type III Analysis of Variance Table with Satterthwaite's method
##              Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## poly(AAA, 2) 387.41  193.70     2 414.18  28.701 2.121e-12 ***
## p_a_r        285.44  142.72     2 376.71  21.147 1.977e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Plot_test <- confint(glht(model, mcp(p_a_r = "Tukey")))
summary(Plot_test)
## 
##   Simultaneous Tests for General Linear Hypotheses
## 
## Multiple Comparisons of Means: Tukey Contrasts
## 
## 
## Fit: lmer(formula = sqrt(prop_bare) ~ poly(AAA, 2) + p_a_r + (1 | 
##     area) + (1 | man), data = dataset)
## 
## Linear Hypotheses:
##            Estimate Std. Error z value Pr(>|z|)    
## p - a == 0   1.6448     0.2796   5.882   <1e-04 ***
## r - a == 0  -0.2971     0.4321  -0.688    0.766    
## r - p == 0  -1.9418     0.4307  -4.509   <1e-04 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## (Adjusted p values reported -- single-step method)
0.2514                       /(0.2514       +0.1072                  + 6.7489                        )   # area
## [1] 0.03537109
0.1072       /(0.2514       +0.1072       +6.7489       )
## [1] 0.01508266

yearly increment [cm]

yearly increment (annual growth) was significantly differing in both, intense managements and grazing regimes. Therefore they were both included as random terms

annual growth [cm] - plant age

dataset <- vita_all[complete.cases(vita_all$ann_gro) & complete.cases(vita_all$RA), ]   # clean for NA for considered 
dataset_anngro_RA <- dataset

shapiro.test(dataset$ann_gro)
## 
##  Shapiro-Wilk normality test
## 
## data:  dataset$ann_gro
## W = 0.9156, p-value = 8.346e-10
hist(dataset$ann_gro)

shapiro.test(sqrt(dataset$ann_gro))    
## 
##  Shapiro-Wilk normality test
## 
## data:  sqrt(dataset$ann_gro)
## W = 0.96144, p-value = 1.24e-05
hist(sqrt(dataset$ann_gro))

pairwise.wilcox.test(dataset$ann_gro, dataset$man)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$ann_gro and dataset$man 
## 
##      F       Ma      none   
## Ma   0.00013 -       -      
## none 7.8e-06 0.23496 -      
## S    0.03928 0.23496 0.50330
## 
## P value adjustment method: holm
pairwise.wilcox.test(dataset$ann_gro, dataset$grazing)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$ann_gro and dataset$grazing 
## 
##               deer   horses/cattle no     sheep fenced sheep trad
## horses/cattle 1.0000 -             -      -            -         
## no            0.8655 0.2345        -      -            -         
## sheep fenced  1.0000 1.0000        0.0068 -            -         
## sheep trad    1.0000 1.0000        0.0003 0.8655       -         
## sheep trad+   1.0000 0.9741        1.0000 0.5301       0.8925    
## 
## P value adjustment method: holm
# both sign

m8 <- lmer(sqrt(ann_gro) ~ RA + (1|area) + (1|man) + (1|grazing), data = dataset)
m8g <- lmer(sqrt(ann_gro) ~ RA + p_a_r + (1|area) + (1|man) + (1|grazing), data = dataset)
m8gi <- lmer(sqrt(ann_gro) ~ RA * p_a_r  + (1|area)+ (1|man) + (1|grazing), data = dataset)

m10 <- lmer(sqrt(ann_gro) ~ poly(RA,2)  + (1|area)+ (1|man) + (1|grazing), data = dataset)
m10g <- lmer(sqrt(ann_gro) ~ poly(RA,2) + p_a_r  + (1|area)+ (1|man) + (1|grazing), data = dataset)
m10gi <- lmer(sqrt(ann_gro) ~ poly(RA,2) * p_a_r  + (1|area) + (1|man) + (1|grazing), data = dataset)

anova(m8, m8g, m8gi, m10, m10g, m10gi)
## Data: dataset
## Models:
## m8: sqrt(ann_gro) ~ RA + (1 | area) + (1 | man) + (1 | grazing)
## m10: sqrt(ann_gro) ~ poly(RA, 2) + (1 | area) + (1 | man) + (1 | grazing)
## m8g: sqrt(ann_gro) ~ RA + p_a_r + (1 | area) + (1 | man) + (1 | grazing)
## m10g: sqrt(ann_gro) ~ poly(RA, 2) + p_a_r + (1 | area) + (1 | man) + 
## m10g:     (1 | grazing)
## m8gi: sqrt(ann_gro) ~ RA * p_a_r + (1 | area) + (1 | man) + (1 | grazing)
## m10gi: sqrt(ann_gro) ~ poly(RA, 2) * p_a_r + (1 | area) + (1 | man) + 
## m10gi:     (1 | grazing)
##       npar    AIC    BIC  logLik deviance   Chisq Df Pr(>Chisq)    
## m8       6 600.06 620.37 -294.03   588.06                          
## m10      7 601.87 625.56 -293.93   587.87  0.1976  1  0.6567044    
## m8g      8 592.50 619.58 -288.25   576.50 11.3622  1  0.0007496 ***
## m10g     9 593.13 623.59 -287.56   575.13  1.3774  1  0.2405409    
## m8gi    10 595.09 628.93 -287.55   575.09  0.0378  1  0.8458220    
## m10gi   13 598.15 642.15 -286.07   572.15  2.9417  3  0.4007008    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(m8g, m10g)  # m8g
## Data: dataset
## Models:
## m8g: sqrt(ann_gro) ~ RA + p_a_r + (1 | area) + (1 | man) + (1 | grazing)
## m10g: sqrt(ann_gro) ~ poly(RA, 2) + p_a_r + (1 | area) + (1 | man) + 
## m10g:     (1 | grazing)
##      npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)
## m8g     8 592.50 619.58 -288.25   576.50                     
## m10g    9 593.13 623.59 -287.56   575.13 1.3774  1     0.2405
# model_ann_gro_RA <- m8g

# model diagnostics
model <- model_ann_gro_RA
summary(model) 
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(ann_gro) ~ RA + p_a_r + (1 | area) + (1 | man) + (1 | grazing)
##    Data: dataset
## 
## REML criterion at convergence: 589.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.5908 -0.4765  0.0720  0.6070  2.3915 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.09504  0.3083  
##  grazing  (Intercept) 0.01767  0.1329  
##  man      (Intercept) 0.00000  0.0000  
##  Residual             0.78102  0.8838  
## Number of obs: 218, groups:  area, 19; grazing, 6; man, 4
## 
## Fixed effects:
##              Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)   3.15481    0.23807  64.70747  13.252  < 2e-16 ***
## RA           -0.06110    0.01337 205.52490  -4.570 8.41e-06 ***
## p_a_rp       -0.32779    0.16342 212.76535  -2.006   0.0461 *  
## p_a_rr        0.20502    0.19867 212.33837   1.032   0.3033    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##        (Intr) RA     p_a_rp
## RA     -0.699              
## p_a_rp -0.578  0.148       
## p_a_rr -0.482  0.139  0.619
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
plot(model)

qqnorm(residuals(model))
qqline(residuals(model))

leveneTest(residuals(model) ~ dataset$p_a_r)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group   2  2.1229 0.1222
##       215
boxplot(residuals(model) ~ dataset$p_a_r)

leveneTest(residuals(model) ~ dataset$area)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  18  1.2871 0.1991
##       199
boxplot(residuals(model) ~ dataset$area)

leveneTest(residuals(model) ~ as.factor(dataset$RA))
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  23  0.9601 0.5188
##       194

ok

summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(ann_gro) ~ RA + p_a_r + (1 | area) + (1 | man) + (1 | grazing)
##    Data: dataset
## 
## REML criterion at convergence: 589.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.5908 -0.4765  0.0720  0.6070  2.3915 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.09504  0.3083  
##  grazing  (Intercept) 0.01767  0.1329  
##  man      (Intercept) 0.00000  0.0000  
##  Residual             0.78102  0.8838  
## Number of obs: 218, groups:  area, 19; grazing, 6; man, 4
## 
## Fixed effects:
##              Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)   3.15481    0.23807  64.70747  13.252  < 2e-16 ***
## RA           -0.06110    0.01337 205.52490  -4.570 8.41e-06 ***
## p_a_rp       -0.32779    0.16342 212.76535  -2.006   0.0461 *  
## p_a_rr        0.20502    0.19867 212.33837   1.032   0.3033    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##        (Intr) RA     p_a_rp
## RA     -0.699              
## p_a_rp -0.578  0.148       
## p_a_rr -0.482  0.139  0.619
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
r2beta(model)
##   Effect   Rsq upper.CL lower.CL
## 1  Model 0.142    0.239    0.075
## 2     RA 0.096    0.179    0.035
## 3 p_a_rp 0.018    0.069    0.000
## 4 p_a_rr 0.005    0.040    0.000
anova(model)
## Type III Analysis of Variance Table with Satterthwaite's method
##        Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## RA    16.3110 16.3110     1 205.53 20.8841 8.412e-06 ***
## p_a_r  9.6836  4.8418     2 212.76  6.1993  0.002417 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Plot_test <- confint(glht(model, mcp(p_a_r = "Tukey")))
summary(Plot_test)
## 
##   Simultaneous Tests for General Linear Hypotheses
## 
## Multiple Comparisons of Means: Tukey Contrasts
## 
## 
## Fit: lmer(formula = sqrt(ann_gro) ~ RA + p_a_r + (1 | area) + (1 | 
##     man) + (1 | grazing), data = dataset)
## 
## Linear Hypotheses:
##            Estimate Std. Error z value Pr(>|z|)   
## p - a == 0  -0.3278     0.1634  -2.006  0.10897   
## r - a == 0   0.2050     0.1987   1.032  0.55295   
## r - p == 0   0.5328     0.1612   3.305  0.00259 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## (Adjusted p values reported -- single-step method)
0.09504    /(0.09504    +0.01767    +0.78102    )   # area
## [1] 0.1063408
0.01767    /(0.09504    +0.01767    +0.78102    )   # grazing
## [1] 0.01977107

annual growth [cm] - stem age

dataset <- vita_all[complete.cases(vita_all$ann_gro) & complete.cases(vita_all$AAA), ]   # clean for NA for considered 
dataset_anngro_AAA <- dataset

hist(dataset$ann_gro)

hist(sqrt(dataset$ann_gro))

pairwise.wilcox.test(dataset$ann_gro, dataset$man)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$ann_gro and dataset$man 
## 
##      F       Ma   none
## Ma   8.6e-05 -    -   
## none 2.2e-06 0.26 -   
## S    0.10    0.22 0.34
## 
## P value adjustment method: holm
pairwise.wilcox.test(dataset$ann_gro, dataset$grazing)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$ann_gro and dataset$grazing 
## 
##               deer    horses/cattle no      sheep fenced sheep trad
## horses/cattle 1.00000 -             -       -            -         
## no            0.07807 0.07675       -       -            -         
## sheep fenced  1.00000 1.00000       0.00033 -            -         
## sheep trad    1.00000 1.00000       4.8e-05 0.24508      -         
## sheep trad+   1.00000 1.00000       1.00000 0.61375      1.00000   
## 
## P value adjustment method: holm
# both sign

m8 <- lmer(sqrt(ann_gro) ~ AAA + (1|area) + (1|man) + (1|grazing), data = dataset)
m8g <- lmer(sqrt(ann_gro) ~ AAA + p_a_r + (1|area) + (1|man) + (1|grazing), data = dataset)
m8gi <- lmer(sqrt(ann_gro) ~ AAA * p_a_r  + (1|area)+ (1|man) + (1|grazing), data = dataset)

m10 <- lmer(sqrt(ann_gro) ~ poly(AAA,2)  + (1|area)+ (1|man) + (1|grazing), data = dataset)
m10g <- lmer(sqrt(ann_gro) ~ poly(AAA,2) + p_a_r  + (1|area)+ (1|man) + (1|grazing), data = dataset)
m10gi <- lmer(sqrt(ann_gro) ~ poly(AAA,2) * p_a_r  + (1|area) + (1|man) + (1|grazing), data = dataset)

anova(m8, m8g, m8gi, m10, m10g, m10gi)
## Data: dataset
## Models:
## m8: sqrt(ann_gro) ~ AAA + (1 | area) + (1 | man) + (1 | grazing)
## m10: sqrt(ann_gro) ~ poly(AAA, 2) + (1 | area) + (1 | man) + (1 | 
## m10:     grazing)
## m8g: sqrt(ann_gro) ~ AAA + p_a_r + (1 | area) + (1 | man) + (1 | grazing)
## m10g: sqrt(ann_gro) ~ poly(AAA, 2) + p_a_r + (1 | area) + (1 | man) + 
## m10g:     (1 | grazing)
## m8gi: sqrt(ann_gro) ~ AAA * p_a_r + (1 | area) + (1 | man) + (1 | grazing)
## m10gi: sqrt(ann_gro) ~ poly(AAA, 2) * p_a_r + (1 | area) + (1 | man) + 
## m10gi:     (1 | grazing)
##       npar    AIC    BIC  logLik deviance   Chisq Df Pr(>Chisq)    
## m8       6 1227.0 1251.6 -607.49   1215.0                          
## m10      7 1216.0 1244.7 -600.98   1202.0 13.0181  1  0.0003085 ***
## m8g      8 1191.3 1224.1 -587.64   1175.3 26.6871  1  2.392e-07 ***
## m10g     9 1184.0 1220.9 -583.01   1166.0  9.2543  1  0.0023495 ** 
## m8gi    10 1190.5 1231.5 -585.23   1170.5  0.0000  1  1.0000000    
## m10gi   13 1180.6 1233.9 -577.30   1154.6 15.8680  3  0.0012069 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(m10g, m10gi)
## Data: dataset
## Models:
## m10g: sqrt(ann_gro) ~ poly(AAA, 2) + p_a_r + (1 | area) + (1 | man) + 
## m10g:     (1 | grazing)
## m10gi: sqrt(ann_gro) ~ poly(AAA, 2) * p_a_r + (1 | area) + (1 | man) + 
## m10gi:     (1 | grazing)
##       npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)  
## m10g     9 1184.0 1220.9 -583.01   1166.0                       
## m10gi   13 1180.6 1233.9 -577.30   1154.6 11.419  4    0.02224 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# m10gi
# model_ann_gro_AAA <- m10gi

# model diagnostics
model <- model_ann_gro_AAA
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(ann_gro) ~ poly(AAA, 2) * p_a_r + (1 | area) + (1 | man) +  
##     (1 | grazing)
##    Data: dataset
## 
## REML criterion at convergence: 1142.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.7276 -0.4918  0.0448  0.6387  2.9031 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.1390   0.3729  
##  grazing  (Intercept) 0.0000   0.0000  
##  man      (Intercept) 0.0000   0.0000  
##  Residual             0.7512   0.8667  
## Number of obs: 445, groups:  area, 19; grazing, 6; man, 4
## 
## Fixed effects:
##                       Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)            2.38158    0.11449  35.55658  20.802  < 2e-16 ***
## poly(AAA, 2)1         -0.58599    1.60644 428.87076  -0.365   0.7155    
## poly(AAA, 2)2         -1.26238    1.57354 431.07229  -0.802   0.4228    
## p_a_rp                -0.38201    0.09230 429.52788  -4.139  4.2e-05 ***
## p_a_rr                 0.05891    0.25019 424.64920   0.235   0.8140    
## poly(AAA, 2)1:p_a_rp   4.72041    1.96626 428.69750   2.401   0.0168 *  
## poly(AAA, 2)2:p_a_rp  -2.87990    1.95983 429.40853  -1.469   0.1424    
## poly(AAA, 2)1:p_a_rr -10.81988    7.77348 423.58856  -1.392   0.1647    
## poly(AAA, 2)2:p_a_rr  -7.84225    5.70810 426.42865  -1.374   0.1702    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##                   (Intr) pl(AAA,2)1 pl(AAA,2)2 p_a_rp p_a_rr ply(AAA,2)1:p__rp
## ply(AAA,2)1        0.015                                                      
## ply(AAA,2)2        0.121  0.120                                               
## p_a_rp            -0.480  0.000     -0.171                                    
## p_a_rr            -0.169 -0.010     -0.072      0.218                         
## ply(AAA,2)1:p__rp -0.030 -0.819     -0.095     -0.026  0.008                  
## ply(AAA,2)2:p__rp -0.096 -0.092     -0.803      0.086  0.058  0.035           
## ply(AAA,2)1:p__rr  0.000 -0.201     -0.033      0.003  0.808  0.162           
## ply(AAA,2)2:p__rr -0.010 -0.024     -0.280      0.038  0.660  0.015           
##                   ply(AAA,2)2:p__rp ply(AAA,2)1:p__rr
## ply(AAA,2)1                                          
## ply(AAA,2)2                                          
## p_a_rp                                               
## p_a_rr                                               
## ply(AAA,2)1:p__rp                                    
## ply(AAA,2)2:p__rp                                    
## ply(AAA,2)1:p__rr  0.031                             
## ply(AAA,2)2:p__rr  0.231             0.739           
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
plot(model)

qqnorm(residuals(model))
qqline(residuals(model))

leveneTest(residuals(model) ~ dataset$p_a_r)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value   Pr(>F)    
## group   2  15.845 2.26e-07 ***
##       442                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(residuals(model) ~ dataset$p_a_r)

leveneTest(residuals(model) ~ dataset$area)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  18  0.9815   0.48
##       426
boxplot(residuals(model) ~ dataset$area)

leveneTest(residuals(model) ~ dataset$man)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group   3  1.3663 0.2525
##       441
boxplot(residuals(model) ~ dataset$man)

leveneTest(residuals(model) ~ dataset$grazing)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group   5   1.449 0.2055
##       439
boxplot(residuals(model) ~ dataset$grazing)

leveneTest(residuals(model) ~ as.factor(dataset$AAA))
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value   Pr(>F)   
## group  18  2.1828 0.003555 **
##       426                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

heteroscedasticity detetcted in p_a_r and AAA, but it looks acceptable

summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(ann_gro) ~ poly(AAA, 2) * p_a_r + (1 | area) + (1 | man) +  
##     (1 | grazing)
##    Data: dataset
## 
## REML criterion at convergence: 1142.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.7276 -0.4918  0.0448  0.6387  2.9031 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.1390   0.3729  
##  grazing  (Intercept) 0.0000   0.0000  
##  man      (Intercept) 0.0000   0.0000  
##  Residual             0.7512   0.8667  
## Number of obs: 445, groups:  area, 19; grazing, 6; man, 4
## 
## Fixed effects:
##                       Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)            2.38158    0.11449  35.55658  20.802  < 2e-16 ***
## poly(AAA, 2)1         -0.58599    1.60644 428.87076  -0.365   0.7155    
## poly(AAA, 2)2         -1.26238    1.57354 431.07229  -0.802   0.4228    
## p_a_rp                -0.38201    0.09230 429.52788  -4.139  4.2e-05 ***
## p_a_rr                 0.05891    0.25019 424.64920   0.235   0.8140    
## poly(AAA, 2)1:p_a_rp   4.72041    1.96626 428.69750   2.401   0.0168 *  
## poly(AAA, 2)2:p_a_rp  -2.87990    1.95983 429.40853  -1.469   0.1424    
## poly(AAA, 2)1:p_a_rr -10.81988    7.77348 423.58856  -1.392   0.1647    
## poly(AAA, 2)2:p_a_rr  -7.84225    5.70810 426.42865  -1.374   0.1702    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##                   (Intr) pl(AAA,2)1 pl(AAA,2)2 p_a_rp p_a_rr ply(AAA,2)1:p__rp
## ply(AAA,2)1        0.015                                                      
## ply(AAA,2)2        0.121  0.120                                               
## p_a_rp            -0.480  0.000     -0.171                                    
## p_a_rr            -0.169 -0.010     -0.072      0.218                         
## ply(AAA,2)1:p__rp -0.030 -0.819     -0.095     -0.026  0.008                  
## ply(AAA,2)2:p__rp -0.096 -0.092     -0.803      0.086  0.058  0.035           
## ply(AAA,2)1:p__rr  0.000 -0.201     -0.033      0.003  0.808  0.162           
## ply(AAA,2)2:p__rr -0.010 -0.024     -0.280      0.038  0.660  0.015           
##                   ply(AAA,2)2:p__rp ply(AAA,2)1:p__rr
## ply(AAA,2)1                                          
## ply(AAA,2)2                                          
## p_a_rp                                               
## p_a_rr                                               
## ply(AAA,2)1:p__rp                                    
## ply(AAA,2)2:p__rp                                    
## ply(AAA,2)1:p__rr  0.031                             
## ply(AAA,2)2:p__rr  0.231             0.739           
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
r2beta(model)
##                 Effect   Rsq upper.CL lower.CL
## 1                Model 0.129    0.202    0.089
## 4               p_a_rp 0.036    0.076    0.010
## 6 poly(AAA, 2)1:p_a_rp 0.012    0.041    0.000
## 7 poly(AAA, 2)2:p_a_rp 0.005    0.026    0.000
## 8 poly(AAA, 2)1:p_a_rr 0.004    0.024    0.000
## 9 poly(AAA, 2)2:p_a_rr 0.004    0.024    0.000
## 3        poly(AAA, 2)2 0.001    0.017    0.000
## 2        poly(AAA, 2)1 0.000    0.013    0.000
## 5               p_a_rr 0.000    0.012    0.000
anova(model)
## Type III Analysis of Variance Table with Satterthwaite's method
##                     Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## poly(AAA, 2)        5.5812  2.7906     2 427.70  3.7148 0.0251501 *  
## p_a_r              13.8919  6.9459     2 426.86  9.2463 0.0001172 ***
## poly(AAA, 2):p_a_r  8.6110  2.1528     4 427.60  2.8657 0.0230140 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Plot_test <- confint(glht(model, mcp(p_a_r = "Tukey")))
summary(Plot_test)
## 
##   Simultaneous Tests for General Linear Hypotheses
## 
## Multiple Comparisons of Means: Tukey Contrasts
## 
## 
## Fit: lmer(formula = sqrt(ann_gro) ~ poly(AAA, 2) * p_a_r + (1 | area) + 
##     (1 | man) + (1 | grazing), data = dataset)
## 
## Linear Hypotheses:
##            Estimate Std. Error z value Pr(>|z|)    
## p - a == 0 -0.38201    0.09230  -4.139   <0.001 ***
## r - a == 0  0.05891    0.25019   0.235    0.968    
## r - p == 0  0.44092    0.24703   1.785    0.160    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## (Adjusted p values reported -- single-step method)
0.1390        /(0.1390         +0.7512           )   # area
## [1] 0.1561447

relative yearly increment [%]

initial analysis revealed large differences between Managements; therefore, it is tested as fixed effect, too.

prop_liv_bare: proportion of yearly increment on the total plant height

relative yearly increment [%] - plant age

dataset <- vita_all[complete.cases(vita_all$prop_liv_bare) & complete.cases(vita_all$RA), ]   # clean for NA for considered 
dataset_prop_liv_RA <- dataset

hist(dataset$prop_liv_bare)

hist(sqrt(dataset$prop_liv_bare))

pairwise.wilcox.test(dataset$prop_liv_bare, dataset$man)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$prop_liv_bare and dataset$man 
## 
##      F      Ma     none  
## Ma   0.0043 -      -     
## none 0.0006 1.0000 -     
## S    0.0053 1.0000 1.0000
## 
## P value adjustment method: holm
pairwise.wilcox.test(dataset$prop_liv_bare, dataset$grazing)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$prop_liv_bare and dataset$grazing 
## 
##               deer   horses/cattle no     sheep fenced sheep trad
## horses/cattle 1.0000 -             -      -            -         
## no            1.0000 1.0000        -      -            -         
## sheep fenced  1.0000 1.0000        0.0249 -            -         
## sheep trad    1.0000 1.0000        0.0065 1.0000       -         
## sheep trad+   0.5466 0.9010        1.0000 0.0411       0.0768    
## 
## P value adjustment method: holm
# both sign 

m3 <- lmer(sqrt(dataset$prop_liv_bare) ~ RA + (1|area) + (1|man) + (1|grazing), data = dataset)
m3g <- lmer(sqrt(dataset$prop_liv_bare) ~ RA + p_a_r + (1|area) + (1|man) + (1|grazing), data = dataset)
m3gi <- lmer(sqrt(dataset$prop_liv_bare) ~ RA * p_a_r + (1|area) + (1|man) + (1|grazing), data = dataset)

m6 <- lmer(sqrt(dataset$prop_liv_bare) ~ poly(RA,2) + (1|area) + (1|man) + (1|grazing), data = dataset)
m6g <- lmer(sqrt(dataset$prop_liv_bare) ~ poly(RA,2) + p_a_r + (1|area) + (1|man) + (1|grazing), data = dataset)
m6gi <- lmer(sqrt(dataset$prop_liv_bare) ~ poly(RA,2) * p_a_r + (1|area) + (1|man) + (1|grazing), data = dataset)

anova(m3, m3g, m3gi, m6, m6g, m6gi)
## Data: dataset
## Models:
## m3: sqrt(dataset$prop_liv_bare) ~ RA + (1 | area) + (1 | man) + (1 | 
## m3:     grazing)
## m6: sqrt(dataset$prop_liv_bare) ~ poly(RA, 2) + (1 | area) + (1 | 
## m6:     man) + (1 | grazing)
## m3g: sqrt(dataset$prop_liv_bare) ~ RA + p_a_r + (1 | area) + (1 | 
## m3g:     man) + (1 | grazing)
## m6g: sqrt(dataset$prop_liv_bare) ~ poly(RA, 2) + p_a_r + (1 | area) + 
## m6g:     (1 | man) + (1 | grazing)
## m3gi: sqrt(dataset$prop_liv_bare) ~ RA * p_a_r + (1 | area) + (1 | 
## m3gi:     man) + (1 | grazing)
## m6gi: sqrt(dataset$prop_liv_bare) ~ poly(RA, 2) * p_a_r + (1 | area) + 
## m6gi:     (1 | man) + (1 | grazing)
##      npar    AIC    BIC  logLik deviance   Chisq Df Pr(>Chisq)    
## m3      6 855.10 875.06 -421.55   843.10                          
## m6      7 851.77 875.06 -418.88   837.77  5.3305  1  0.0209551 *  
## m3g     8 844.44 871.06 -414.22   828.44  9.3260  1  0.0022592 ** 
## m6g     9 835.01 864.96 -408.50   817.01 11.4322  1  0.0007218 ***
## m3gi   10 842.63 875.90 -411.31   822.63  0.0000  1  1.0000000    
## m6gi   13 836.62 879.88 -405.31   810.62 12.0038  3  0.0073702 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(m6g, m6gi)
## Data: dataset
## Models:
## m6g: sqrt(dataset$prop_liv_bare) ~ poly(RA, 2) + p_a_r + (1 | area) + 
## m6g:     (1 | man) + (1 | grazing)
## m6gi: sqrt(dataset$prop_liv_bare) ~ poly(RA, 2) * p_a_r + (1 | area) + 
## m6gi:     (1 | man) + (1 | grazing)
##      npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)
## m6g     9 835.01 864.96 -408.50   817.01                     
## m6gi   13 836.62 879.88 -405.31   810.62 6.3854  4     0.1722
# m6g is best in the point of residual diagnostics
# model_prop_liv_bare_RA <- m6g

model <- model_prop_liv_bare_RA
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(dataset$prop_liv_bare) ~ poly(RA, 2) + p_a_r + (1 | area) +  
##     (1 | man) + (1 | grazing)
##    Data: dataset
## 
## REML criterion at convergence: 812.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.2606 -0.6595 -0.0604  0.6962  2.9063 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.17751  0.4213  
##  grazing  (Intercept) 0.23397  0.4837  
##  man      (Intercept) 0.06681  0.2585  
##  Residual             2.94852  1.7171  
## Number of obs: 206, groups:  area, 19; grazing, 6; man, 4
## 
## Fixed effects:
##              Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)    6.0011     0.4014   8.9413  14.950 1.25e-07 ***
## poly(RA, 2)1 -16.9234     1.8971 179.8872  -8.921 5.21e-16 ***
## poly(RA, 2)2   6.3006     1.8376 195.6551   3.429  0.00074 ***
## p_a_rp        -0.8543     0.3264 190.6606  -2.617  0.00957 ** 
## p_a_rr         0.6485     0.3901 194.8940   1.662  0.09802 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) p(RA,2)1 p(RA,2)2 p_a_rp
## poly(RA,2)1 -0.166                         
## poly(RA,2)2  0.051 -0.027                  
## p_a_rp      -0.534  0.195   -0.126         
## p_a_rr      -0.473  0.135    0.095    0.561
plot(model)

qqnorm(residuals(model))
qqline(residuals(model))

leveneTest(residuals(model) ~ dataset$p_a_r)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group   2  0.3648 0.6948
##       203
boxplot(residuals(model) ~ dataset$p_a_r)

leveneTest(residuals(model) ~ dataset$area)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  18   0.993 0.4697
##       187
boxplot(residuals(model) ~ dataset$area)

leveneTest(residuals(model) ~ as.factor(dataset$RA))
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  22  0.7722 0.7568
##       183
leveneTest(residuals(model) ~ dataset$grazing)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group   5  0.9242 0.4663
##       200
boxplot(residuals(model) ~ dataset$grazing)

perfect

summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(dataset$prop_liv_bare) ~ poly(RA, 2) + p_a_r + (1 | area) +  
##     (1 | man) + (1 | grazing)
##    Data: dataset
## 
## REML criterion at convergence: 812.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.2606 -0.6595 -0.0604  0.6962  2.9063 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.17751  0.4213  
##  grazing  (Intercept) 0.23397  0.4837  
##  man      (Intercept) 0.06681  0.2585  
##  Residual             2.94852  1.7171  
## Number of obs: 206, groups:  area, 19; grazing, 6; man, 4
## 
## Fixed effects:
##              Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)    6.0011     0.4014   8.9413  14.950 1.25e-07 ***
## poly(RA, 2)1 -16.9234     1.8971 179.8872  -8.921 5.21e-16 ***
## poly(RA, 2)2   6.3006     1.8376 195.6551   3.429  0.00074 ***
## p_a_rp        -0.8543     0.3264 190.6606  -2.617  0.00957 ** 
## p_a_rr         0.6485     0.3901 194.8940   1.662  0.09802 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) p(RA,2)1 p(RA,2)2 p_a_rp
## poly(RA,2)1 -0.166                         
## poly(RA,2)2  0.051 -0.027                  
## p_a_rp      -0.534  0.195   -0.126         
## p_a_rr      -0.473  0.135    0.095    0.561
r2beta(model)
##         Effect   Rsq upper.CL lower.CL
## 1        Model 0.356    0.456    0.268
## 2 poly(RA, 2)1 0.291    0.389    0.197
## 3 poly(RA, 2)2 0.054    0.126    0.010
## 4       p_a_rp 0.032    0.094    0.002
## 5       p_a_rr 0.013    0.060    0.000
anova(model)
## Type III Analysis of Variance Table with Satterthwaite's method
##              Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## poly(RA, 2) 264.612 132.306     2 187.59  44.872 < 2.2e-16 ***
## p_a_r        62.357  31.179     2 105.51  10.574 6.522e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Plot_test <- confint(glht(model, mcp(p_a_r = "Tukey")))
summary(Plot_test)
## 
##   Simultaneous Tests for General Linear Hypotheses
## 
## Multiple Comparisons of Means: Tukey Contrasts
## 
## 
## Fit: lmer(formula = sqrt(dataset$prop_liv_bare) ~ poly(RA, 2) + p_a_r + 
##     (1 | area) + (1 | man) + (1 | grazing), data = dataset)
## 
## Linear Hypotheses:
##            Estimate Std. Error z value Pr(>|z|)    
## p - a == 0  -0.8543     0.3264  -2.617   0.0237 *  
## r - a == 0   0.6485     0.3901   1.662   0.2181    
## r - p == 0   1.5028     0.3404   4.415   <0.001 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## (Adjusted p values reported -- single-step method)
0.17751      /(0.17751      +0.23397     +0.06681     +2.94852   )
## [1] 0.05180036
0.23397    /(0.17751     +0.23397      +0.06681   +2.94852  )
## [1] 0.06827633
0.06681        /(0.17751     +0.23397     +0.06681   + 2.94852    )
## [1] 0.01949627

relative yearly increment [%] - stem age

dataset <- vita_all[complete.cases(vita_all$prop_liv_bare) & complete.cases(vita_all$AAA), ]   # clean for NA for considered 
dataset_prop_liv_AAA <- dataset

hist(dataset$prop_liv_bare)

hist(sqrt(dataset$prop_liv_bare))

pairwise.wilcox.test(dataset$prop_liv_bare, dataset$man)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$prop_liv_bare and dataset$man 
## 
##      F       Ma      none   
## Ma   0.00013 -       -      
## none 1.2e-05 0.73079 -      
## S    0.02966 0.73079 0.73079
## 
## P value adjustment method: holm
pairwise.wilcox.test(dataset$prop_liv_bare, dataset$grazing)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$prop_liv_bare and dataset$grazing 
## 
##               deer    horses/cattle no      sheep fenced sheep trad
## horses/cattle 1.00000 -             -       -            -         
## no            0.26816 1.00000       -       -            -         
## sheep fenced  1.00000 1.00000       0.00880 -            -         
## sheep trad    1.00000 1.00000       0.00042 1.00000      -         
## sheep trad+   0.82884 1.00000       1.00000 0.33944      0.84690   
## 
## P value adjustment method: holm
# both sign

m1 <- lmer(sqrt(dataset$prop_liv_bare) ~ AAA + (1|area) + (1|man) + (1|grazing), data = dataset)
m1g <- lmer(sqrt(dataset$prop_liv_bare) ~ AAA + (1|area) + (1|man) + (1|grazing), data = dataset)
m1gi <- lmer(sqrt(dataset$prop_liv_bare) ~ AAA * p_a_r + (1|area) + (1|man) + (1|grazing), data = dataset)

m4 <- lmer(sqrt(dataset$prop_liv_bare) ~ poly(AAA,2) + (1|area) + (1|man) + (1|grazing), data = dataset)
m4g <- lmer(sqrt(dataset$prop_liv_bare) ~ poly(AAA,2) + p_a_r + (1|area) + (1|man) + (1|grazing), data = dataset)
m4gi <- lmer(sqrt(dataset$prop_liv_bare) ~ poly(AAA,2) * p_a_r + (1|area) + (1|man) + (1|grazing), data = dataset)

anova(m1, m1g, m1gi, m4, m4g, m4gi)
## Data: dataset
## Models:
## m1: sqrt(dataset$prop_liv_bare) ~ AAA + (1 | area) + (1 | man) + 
## m1:     (1 | grazing)
## m1g: sqrt(dataset$prop_liv_bare) ~ AAA + (1 | area) + (1 | man) + 
## m1g:     (1 | grazing)
## m4: sqrt(dataset$prop_liv_bare) ~ poly(AAA, 2) + (1 | area) + (1 | 
## m4:     man) + (1 | grazing)
## m4g: sqrt(dataset$prop_liv_bare) ~ poly(AAA, 2) + p_a_r + (1 | area) + 
## m4g:     (1 | man) + (1 | grazing)
## m1gi: sqrt(dataset$prop_liv_bare) ~ AAA * p_a_r + (1 | area) + (1 | 
## m1gi:     man) + (1 | grazing)
## m4gi: sqrt(dataset$prop_liv_bare) ~ poly(AAA, 2) * p_a_r + (1 | area) + 
## m4gi:     (1 | man) + (1 | grazing)
##      npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)   
## m1      6 1615.2 1639.3 -801.60   1603.2                        
## m1g     6 1615.2 1639.3 -801.60   1603.2 0.0000  0              
## m4      7 1609.9 1638.1 -797.94   1595.9 7.3174  1   0.006829 **
## m4g     9 1607.0 1643.2 -794.49   1589.0 6.8966  2   0.031800 * 
## m1gi   10 1614.5 1654.7 -797.23   1594.5 0.0000  1   1.000000   
## m4gi   13 1612.5 1664.8 -793.25   1586.5 7.9679  3   0.046679 * 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(m4, m4g) #m4g is diagnostically best
## Data: dataset
## Models:
## m4: sqrt(dataset$prop_liv_bare) ~ poly(AAA, 2) + (1 | area) + (1 | 
## m4:     man) + (1 | grazing)
## m4g: sqrt(dataset$prop_liv_bare) ~ poly(AAA, 2) + p_a_r + (1 | area) + 
## m4g:     (1 | man) + (1 | grazing)
##     npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)  
## m4     7 1609.9 1638.1 -797.94   1595.9                       
## m4g    9 1607.0 1643.2 -794.49   1589.0 6.8966  2     0.0318 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# model_prop_liv_bare_AAA <- m4g

model <- model_prop_liv_bare_AAA
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(dataset$prop_liv_bare) ~ poly(AAA, 2) + p_a_r + (1 | area) +  
##     (1 | man) + (1 | grazing)
##    Data: dataset
## 
## REML criterion at convergence: 1587
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.8633 -0.5655 -0.0444  0.6649  3.3981 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.3596   0.5997  
##  grazing  (Intercept) 0.1241   0.3523  
##  man      (Intercept) 0.0000   0.0000  
##  Residual             2.5765   1.6052  
## Number of obs: 414, groups:  area, 19; grazing, 6; man, 4
## 
## Fixed effects:
##               Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)     5.1217     0.2580   8.7869  19.850 1.33e-08 ***
## poly(AAA, 2)1 -24.4390     1.6904 401.2906 -14.458  < 2e-16 ***
## poly(AAA, 2)2   4.6811     1.6750 406.1224   2.795  0.00544 ** 
## p_a_rp         -0.1686     0.1764 402.3995  -0.956  0.33975    
## p_a_rr          0.5263     0.2662 406.1515   1.978  0.04865 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) p(AAA,2)1 p(AAA,2)2 p_a_rp
## ply(AAA,2)1 -0.001                           
## ply(AAA,2)2  0.034  0.010                    
## p_a_rp      -0.369 -0.099    -0.142          
## p_a_rr      -0.255  0.151    -0.060     0.342
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
plot(model)

qqnorm(residuals(model))
qqline(residuals(model))

leveneTest(residuals(model) ~ dataset$area)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  18  0.9226 0.5512
##       395
boxplot(residuals(model) ~ dataset$area)

leveneTest(residuals(model) ~ as.factor(dataset$AAA))
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value   Pr(>F)   
## group  18  2.1641 0.004001 **
##       395                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
leveneTest(residuals(model) ~ dataset$p_a_r)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group   2  0.0682 0.9341
##       411
boxplot(residuals(model) ~ dataset$p_a_r)

heteroscedasticity in area and AAA… but acceptable

summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(dataset$prop_liv_bare) ~ poly(AAA, 2) + p_a_r + (1 | area) +  
##     (1 | man) + (1 | grazing)
##    Data: dataset
## 
## REML criterion at convergence: 1587
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.8633 -0.5655 -0.0444  0.6649  3.3981 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.3596   0.5997  
##  grazing  (Intercept) 0.1241   0.3523  
##  man      (Intercept) 0.0000   0.0000  
##  Residual             2.5765   1.6052  
## Number of obs: 414, groups:  area, 19; grazing, 6; man, 4
## 
## Fixed effects:
##               Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)     5.1217     0.2580   8.7869  19.850 1.33e-08 ***
## poly(AAA, 2)1 -24.4390     1.6904 401.2906 -14.458  < 2e-16 ***
## poly(AAA, 2)2   4.6811     1.6750 406.1224   2.795  0.00544 ** 
## p_a_rp         -0.1686     0.1764 402.3995  -0.956  0.33975    
## p_a_rr          0.5263     0.2662 406.1515   1.978  0.04865 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) p(AAA,2)1 p(AAA,2)2 p_a_rp
## ply(AAA,2)1 -0.001                           
## ply(AAA,2)2  0.034  0.010                    
## p_a_rp      -0.369 -0.099    -0.142          
## p_a_rr      -0.255  0.151    -0.060     0.342
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
r2beta(model)
##          Effect   Rsq upper.CL lower.CL
## 1         Model 0.373    0.442    0.310
## 2 poly(AAA, 2)1 0.326    0.395    0.259
## 3 poly(AAA, 2)2 0.018    0.052    0.002
## 5        p_a_rr 0.009    0.036    0.000
## 4        p_a_rp 0.002    0.020    0.000
anova(model)
## Type III Analysis of Variance Table with Satterthwaite's method
##              Sum Sq Mean Sq NumDF  DenDF  F value  Pr(>F)    
## poly(AAA, 2) 560.79 280.395     2 404.11 108.8257 < 2e-16 ***
## p_a_r         17.84   8.921     2 405.86   3.4623 0.03229 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Plot_test <- confint(glht(model, mcp(p_a_r = "Tukey")))
summary(Plot_test)
## 
##   Simultaneous Tests for General Linear Hypotheses
## 
## Multiple Comparisons of Means: Tukey Contrasts
## 
## 
## Fit: lmer(formula = sqrt(dataset$prop_liv_bare) ~ poly(AAA, 2) + p_a_r + 
##     (1 | area) + (1 | man) + (1 | grazing), data = dataset)
## 
## Linear Hypotheses:
##            Estimate Std. Error z value Pr(>|z|)  
## p - a == 0  -0.1686     0.1764  -0.956   0.5991  
## r - a == 0   0.5263     0.2662   1.978   0.1143  
## r - p == 0   0.6950     0.2643   2.629   0.0224 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## (Adjusted p values reported -- single-step method)
0.3596               /(0.3596               +0.1241          +   2.5765           )
## [1] 0.1175087
0.1241               /(0.3596               +0.1241         +  2.5765             )
## [1] 0.04055291

plant height [cm]

initial analysis revealed large differences between Managements; therefore, it is tested ad fixes effect, too.

plant height [cm] - plant age

dataset <- vita_all[complete.cases(vita_all$height) & complete.cases(vita_all$RA), ]   # clean for NA for considered 
dataset_height_RA <- dataset

hist(dataset$height)

hist(sqrt(dataset$height))

pairwise.wilcox.test(dataset$height, dataset$man)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$height and dataset$man 
## 
##      F Ma none
## Ma   1 -  -   
## none 1 1  -   
## S    1 1  1   
## 
## P value adjustment method: holm
pairwise.wilcox.test(dataset$height, dataset$grazing)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$height and dataset$grazing 
## 
##               deer horses/cattle no   sheep fenced sheep trad
## horses/cattle 1.00 -             -    -            -         
## no            1.00 1.00          -    -            -         
## sheep fenced  1.00 1.00          1.00 -            -         
## sheep trad    1.00 1.00          1.00 1.00         -         
## sheep trad+   1.00 1.00          0.39 0.92         0.61      
## 
## P value adjustment method: holm
# both not sign 

m3 <- lmer(sqrt(dataset$height) ~ RA + (1|area), data = dataset)
m3g <- lmer(sqrt(dataset$height) ~ RA + p_a_r + (1|area), data = dataset)
m3gi <- lmer(sqrt(dataset$height) ~ RA * p_a_r + (1|area), data = dataset)

m6 <- lmer(sqrt(dataset$height) ~ poly(RA,2) + (1|area), data = dataset)
m6g <- lmer(sqrt(dataset$height) ~ poly(RA,2) + p_a_r + (1|area), data = dataset)
m6gi <- lmer(sqrt(dataset$height) ~ poly(RA,2) * p_a_r + (1|area), data = dataset)

anova(m3, m3g, m3gi, m6, m6g, m6gi)
## Data: dataset
## Models:
## m3: sqrt(dataset$height) ~ RA + (1 | area)
## m6: sqrt(dataset$height) ~ poly(RA, 2) + (1 | area)
## m3g: sqrt(dataset$height) ~ RA + p_a_r + (1 | area)
## m6g: sqrt(dataset$height) ~ poly(RA, 2) + p_a_r + (1 | area)
## m3gi: sqrt(dataset$height) ~ RA * p_a_r + (1 | area)
## m6gi: sqrt(dataset$height) ~ poly(RA, 2) * p_a_r + (1 | area)
##      npar    AIC    BIC  logLik deviance   Chisq Df Pr(>Chisq)    
## m3      4 748.59 761.92 -370.30   740.59                          
## m6      5 750.21 766.87 -370.10   740.21  0.3838  1     0.5356    
## m3g     6 733.65 753.64 -360.82   721.65 18.5613  1  1.645e-05 ***
## m6g     7 733.20 756.53 -359.60   719.20  2.4456  1     0.1179    
## m3gi    8 718.13 744.79 -351.06   702.13 17.0728  1  3.597e-05 ***
## m6gi   11 722.52 759.18 -350.26   700.52  1.6144  3     0.6561    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# m3gi is best in the point of residual diagnostics, but unimodal model is ecologically with more sense
anova(m6, m6g, m6gi)
## Data: dataset
## Models:
## m6: sqrt(dataset$height) ~ poly(RA, 2) + (1 | area)
## m6g: sqrt(dataset$height) ~ poly(RA, 2) + p_a_r + (1 | area)
## m6gi: sqrt(dataset$height) ~ poly(RA, 2) * p_a_r + (1 | area)
##      npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)    
## m6      5 750.21 766.87 -370.10   740.21                         
## m6g     7 733.20 756.53 -359.60   719.20 21.007  2  2.744e-05 ***
## m6gi   11 722.52 759.18 -350.26   700.52 18.687  4  0.0009053 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# m6gi
#model_height_RA <- m6gi
model <- model_height_RA
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(dataset$height) ~ poly(RA, 2) * p_a_r + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 681.9
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.7010 -0.6269  0.0168  0.5618  3.7624 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.000    0.000   
##  Residual             1.805    1.344   
## Number of obs: 207, groups:  area, 19
## 
## Fixed effects:
##                       Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)           4.778444   0.237283 198.000000  20.138  < 2e-16 ***
## poly(RA, 2)1         -0.005202   3.574728 198.000000  -0.001 0.998840    
## poly(RA, 2)2          1.060047   3.253903 198.000000   0.326 0.744937    
## p_a_rp                0.653257   0.267779 198.000000   2.440 0.015587 *  
## p_a_rr               -0.322087   0.348572 198.000000  -0.924 0.356602    
## poly(RA, 2)1:p_a_rp  15.099141   3.931838 198.000000   3.840 0.000165 ***
## poly(RA, 2)2:p_a_rp  -2.946548   3.658617 198.000000  -0.805 0.421571    
## poly(RA, 2)1:p_a_rr   3.802688   5.907389 198.000000   0.644 0.520504    
## poly(RA, 2)2:p_a_rr  -3.117723   5.933302 198.000000  -0.525 0.599850    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##                  (Intr) pl(RA,2)1 pl(RA,2)2 p_a_rp p_a_rr ply(RA,2)1:p__rp
## poly(RA,2)1      -0.493                                                   
## poly(RA,2)2       0.321 -0.462                                            
## p_a_rp           -0.886  0.437    -0.285                                  
## p_a_rr           -0.681  0.336    -0.219     0.603                        
## ply(RA,2)1:p__rp  0.448 -0.909     0.420    -0.383 -0.305                 
## ply(RA,2)2:p__rp -0.286  0.411    -0.889     0.220  0.195 -0.360          
## ply(RA,2)1:p__rr  0.298 -0.605     0.280    -0.264  0.028  0.550          
## ply(RA,2)2:p__rr -0.176  0.253    -0.548     0.156  0.467 -0.230          
##                  ply(RA,2)2:p__rp ply(RA,2)1:p__rr
## poly(RA,2)1                                       
## poly(RA,2)2                                       
## p_a_rp                                            
## p_a_rr                                            
## ply(RA,2)1:p__rp                                  
## ply(RA,2)2:p__rp                                  
## ply(RA,2)1:p__rr -0.249                           
## ply(RA,2)2:p__rr  0.488            0.112          
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
plot(model)

qqnorm(residuals(model))
qqline(residuals(model))

leveneTest(residuals(model) ~ dataset$p_a_r)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group   2  1.1289 0.3254
##       204
boxplot(residuals(model) ~ dataset$p_a_r)

leveneTest(residuals(model) ~ dataset$area)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value  Pr(>F)  
## group  18  1.6637 0.04904 *
##       188                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(residuals(model) ~ dataset$area)

leveneTest(residuals(model) ~ as.factor(dataset$RA))
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value  Pr(>F)  
## group  22   1.634 0.04289 *
##       184                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

perfect

summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(dataset$height) ~ poly(RA, 2) * p_a_r + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 681.9
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.7010 -0.6269  0.0168  0.5618  3.7624 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.000    0.000   
##  Residual             1.805    1.344   
## Number of obs: 207, groups:  area, 19
## 
## Fixed effects:
##                       Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)           4.778444   0.237283 198.000000  20.138  < 2e-16 ***
## poly(RA, 2)1         -0.005202   3.574728 198.000000  -0.001 0.998840    
## poly(RA, 2)2          1.060047   3.253903 198.000000   0.326 0.744937    
## p_a_rp                0.653257   0.267779 198.000000   2.440 0.015587 *  
## p_a_rr               -0.322087   0.348572 198.000000  -0.924 0.356602    
## poly(RA, 2)1:p_a_rp  15.099141   3.931838 198.000000   3.840 0.000165 ***
## poly(RA, 2)2:p_a_rp  -2.946548   3.658617 198.000000  -0.805 0.421571    
## poly(RA, 2)1:p_a_rr   3.802688   5.907389 198.000000   0.644 0.520504    
## poly(RA, 2)2:p_a_rr  -3.117723   5.933302 198.000000  -0.525 0.599850    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##                  (Intr) pl(RA,2)1 pl(RA,2)2 p_a_rp p_a_rr ply(RA,2)1:p__rp
## poly(RA,2)1      -0.493                                                   
## poly(RA,2)2       0.321 -0.462                                            
## p_a_rp           -0.886  0.437    -0.285                                  
## p_a_rr           -0.681  0.336    -0.219     0.603                        
## ply(RA,2)1:p__rp  0.448 -0.909     0.420    -0.383 -0.305                 
## ply(RA,2)2:p__rp -0.286  0.411    -0.889     0.220  0.195 -0.360          
## ply(RA,2)1:p__rr  0.298 -0.605     0.280    -0.264  0.028  0.550          
## ply(RA,2)2:p__rr -0.176  0.253    -0.548     0.156  0.467 -0.230          
##                  ply(RA,2)2:p__rp ply(RA,2)1:p__rr
## poly(RA,2)1                                       
## poly(RA,2)2                                       
## p_a_rp                                            
## p_a_rr                                            
## ply(RA,2)1:p__rp                                  
## ply(RA,2)2:p__rp                                  
## ply(RA,2)1:p__rr -0.249                           
## ply(RA,2)2:p__rr  0.488            0.112          
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see ?isSingular
r2beta(model)
##                Effect   Rsq upper.CL lower.CL
## 1               Model 0.440    0.563    0.347
## 6 poly(RA, 2)1:p_a_rp 0.100    0.210    0.026
## 4              p_a_rp 0.043    0.132    0.002
## 5              p_a_rr 0.006    0.061    0.000
## 7 poly(RA, 2)2:p_a_rp 0.005    0.056    0.000
## 8 poly(RA, 2)1:p_a_rr 0.003    0.050    0.000
## 9 poly(RA, 2)2:p_a_rr 0.002    0.046    0.000
## 3        poly(RA, 2)2 0.001    0.041    0.000
## 2        poly(RA, 2)1 0.000    0.037    0.000
anova(model)
## Type III Analysis of Variance Table with Satterthwaite's method
##                   Sum Sq Mean Sq NumDF DenDF F value    Pr(>F)    
## poly(RA, 2)       18.316  9.1580     2   198  5.0729 0.0071030 ** 
## p_a_r             27.029 13.5144     2   198  7.4861 0.0007343 ***
## poly(RA, 2):p_a_r 33.770  8.4425     4   198  4.6766 0.0012542 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Plot_test <- confint(glht(model, mcp(p_a_r = "Tukey")))
summary(Plot_test)
## 
##   Simultaneous Tests for General Linear Hypotheses
## 
## Multiple Comparisons of Means: Tukey Contrasts
## 
## 
## Fit: lmer(formula = sqrt(dataset$height) ~ poly(RA, 2) * p_a_r + (1 | 
##     area), data = dataset)
## 
## Linear Hypotheses:
##            Estimate Std. Error z value Pr(>|z|)   
## p - a == 0   0.6533     0.2678   2.440  0.03805 * 
## r - a == 0  -0.3221     0.3486  -0.924  0.62010   
## r - p == 0  -0.9753     0.2839  -3.435  0.00162 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## (Adjusted p values reported -- single-step method)

plant height [cm] - stem age

dataset <- vita_all[complete.cases(vita_all$height) & complete.cases(vita_all$AAA), ]   # clean for NA for considered 
dataset_height_AAA <- dataset

hist(dataset$height)

hist(sqrt(dataset$height))

pairwise.wilcox.test(dataset$height, dataset$man)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$height and dataset$man 
## 
##      F Ma none
## Ma   1 -  -   
## none 1 1  -   
## S    1 1  1   
## 
## P value adjustment method: holm
pairwise.wilcox.test(dataset$height, dataset$grazing)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dataset$height and dataset$grazing 
## 
##               deer horses/cattle no sheep fenced sheep trad
## horses/cattle 1    -             -  -            -         
## no            1    1             -  -            -         
## sheep fenced  1    1             1  -            -         
## sheep trad    1    1             1  1            -         
## sheep trad+   1    1             1  1            1         
## 
## P value adjustment method: holm
# both not sign

m1 <- lmer(sqrt(dataset$height) ~ AAA + (1|area), data = dataset)
m1g <- lmer(sqrt(dataset$height) ~ AAA + (1|area), data = dataset)
m1gi <- lmer(sqrt(dataset$height) ~ AAA * p_a_r + (1|area), data = dataset)

m4 <- lmer(sqrt(dataset$height) ~ poly(AAA,2) + (1|area), data = dataset)
m4g <- lmer(sqrt(dataset$height) ~ poly(AAA,2) + p_a_r + (1|area), data = dataset)
m4gi <- lmer(sqrt(dataset$height) ~ poly(AAA,2) * p_a_r + (1|area), data = dataset)

anova(m1, m1g, m1gi, m4, m4g, m4gi)
## Data: dataset
## Models:
## m1: sqrt(dataset$height) ~ AAA + (1 | area)
## m1g: sqrt(dataset$height) ~ AAA + (1 | area)
## m4: sqrt(dataset$height) ~ poly(AAA, 2) + (1 | area)
## m4g: sqrt(dataset$height) ~ poly(AAA, 2) + p_a_r + (1 | area)
## m1gi: sqrt(dataset$height) ~ AAA * p_a_r + (1 | area)
## m4gi: sqrt(dataset$height) ~ poly(AAA, 2) * p_a_r + (1 | area)
##      npar    AIC    BIC  logLik deviance   Chisq Df Pr(>Chisq)    
## m1      4 1328.3 1344.4 -660.16   1320.3                          
## m1g     4 1328.3 1344.4 -660.16   1320.3  0.0000  0               
## m4      5 1313.0 1333.1 -651.49   1303.0 17.3222  1  3.155e-05 ***
## m4g     7 1314.7 1342.9 -650.35   1300.7  2.2831  2  0.3193276    
## m1gi    8 1331.6 1363.8 -657.80   1315.6  0.0000  1  1.0000000    
## m4gi   11 1316.7 1361.0 -647.36   1294.7 20.8690  3  0.0001121 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(m4, m4g) #m4 is diagnostically best
## Data: dataset
## Models:
## m4: sqrt(dataset$height) ~ poly(AAA, 2) + (1 | area)
## m4g: sqrt(dataset$height) ~ poly(AAA, 2) + p_a_r + (1 | area)
##     npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)
## m4     5 1313.0 1333.1 -651.49   1303.0                     
## m4g    7 1314.7 1342.9 -650.35   1300.7 2.2831  2     0.3193
#model_height_AAA <- m4

model <- model_height_AAA
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(dataset$height) ~ poly(AAA, 2) + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 1302.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.6610 -0.6619 -0.0472  0.5598  4.3521 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.02278  0.1509  
##  Residual             1.34509  1.1598  
## Number of obs: 415, groups:  area, 19
## 
## Fixed effects:
##                Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)     5.23682    0.07207   5.21503  72.663 4.84e-09 ***
## poly(AAA, 2)1  24.55036    1.16905 410.00242  21.000  < 2e-16 ***
## poly(AAA, 2)2  -4.92437    1.16916 409.22008  -4.212 3.12e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) p(AAA,2)1
## ply(AAA,2)1 -0.021          
## ply(AAA,2)2  0.001 -0.001
plot(model)

qqnorm(residuals(model))
qqline(residuals(model))

leveneTest(residuals(model) ~ dataset$area)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  18  0.5725 0.9189
##       396
boxplot(residuals(model) ~ dataset$area)

leveneTest(residuals(model) ~ as.factor(dataset$AAA))
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  18  1.4089 0.1229
##       396

heteroscedasticity in area and AAA… but looks acceptable

summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: sqrt(dataset$height) ~ poly(AAA, 2) + (1 | area)
##    Data: dataset
## 
## REML criterion at convergence: 1302.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.6610 -0.6619 -0.0472  0.5598  4.3521 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  area     (Intercept) 0.02278  0.1509  
##  Residual             1.34509  1.1598  
## Number of obs: 415, groups:  area, 19
## 
## Fixed effects:
##                Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)     5.23682    0.07207   5.21503  72.663 4.84e-09 ***
## poly(AAA, 2)1  24.55036    1.16905 410.00242  21.000  < 2e-16 ***
## poly(AAA, 2)2  -4.92437    1.16916 409.22008  -4.212 3.12e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) p(AAA,2)1
## ply(AAA,2)1 -0.021          
## ply(AAA,2)2  0.001 -0.001
r2beta(model)
##          Effect   Rsq upper.CL lower.CL
## 1         Model 0.526    0.582    0.469
## 2 poly(AAA, 2)1 0.516    0.573    0.457
## 3 poly(AAA, 2)2 0.041    0.086    0.012
anova(model)
## Type III Analysis of Variance Table with Satterthwaite's method
##              Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## poly(AAA, 2) 616.83  308.42     2 409.47  229.29 < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
0.02278              /(0.02278              +1.34509  )
## [1] 0.01665363