dat_try2019=
  read_csv("cover19.csv")%>%
  mutate(DM_Cover=as.numeric(DM_Cover)) %>%
  unite("code",c(Plot,Subplot), sep="_", remove=FALSE) %>%
  select(Plot,code,Species,DM_Cover) %>%
  pivot_wider(names_from = "Species", values_from = "DM_Cover", values_fill=0) %>%
  select (-"Oxalis stricta",-"Berberis trifoliolata", -"Vine A") %>%
  filter(code !="41_3")

trt_try= 
  read.csv("trt.csv") %>%
  unite("code",c(Plot,Subplot), sep="_", remove=FALSE) %>%
  rename(herb=Herbivory.Tr, fire= Fire.Energy.Tr)

trt2019=
  dat_try2019 %>%
  inner_join(trt_try) %>%
  select(Plot,code, herb, fire) 

dat2019ord=
  read.csv("cover19.csv")%>%
  mutate(DM_Cover=as.numeric(DM_Cover)) %>%
  unite("code",c(Plot,Subplot), sep="_") %>%
  as_tibble() %>%
  select(code,Species,DM_Cover) %>%
  pivot_wider(names_from = "Species", values_from = "DM_Cover", values_fill=0) %>% 
  select (-"Oxalis stricta",-"Berberis trifoliolata", -"Vine A") %>%
  filter(code !="41_3")%>%
  select(-code)

dat19 = 
  read.csv("2019.biomass.csv") %>%
  mutate(Cage=trimws(Cage))%>%
  group_by(Plot, Quad, Cage, Fire) %>%
  summarise(Biomass = sum(Biomass.g.m.2, na.rm = T))


dat19f = 
  read.csv("2019.biomass.csv") %>%
  mutate(Cage=trimws(Cage)) %>%
  filter(Forb.Grass=="Forb")

dat20 = read.csv("2020.biomass.csv") %>% 
  mutate(Cage=trimws(Cage))%>%
  group_by(Plot, Quad, Cage, Fire) %>%
  summarise(Biomass = sum(Biomass.g.m.2, na.rm = T))



dat20f = 
  read.csv("2020.biomass.csv") %>%
  mutate(Cage=trimws(Cage)) %>%
  filter(Forb.Grass=="Forb")

#biomass analysis

Table 1.1: Results of regression for total biomass
  Total Biomass 2019 Total Biomass 2020
Predictors Estimates Conf. Int (95%) p-Value Estimates Conf. Int (95%) p-Value
(Intercept) 147.20 106.76 – 202.96 <0.001 339.05 248.58 – 429.51 <0.001
Exclosure (Yes) 2.04 1.30 – 3.20 0.002 199.26 100.30 – 298.23 <0.001
Fire Energy (Low) 1.04 0.66 – 1.64 0.866 -5.62 -131.20 – 119.96 0.929
Fire Energy (High) 0.83 0.50 – 1.38 0.474 -111.90 -241.27 – 17.48 0.089
Exclosure (Yes)*Fire
Energy (Low)
0.79 0.42 – 1.48 0.460 -61.57 -198.10 – 74.96 0.371
Exclosure (Yes)*Fire
Energy (High)
1.33 0.69 – 2.56 0.399 6.64 -133.79 – 147.07 0.925
Random Effects
σ2   27741.79
τ00   19904.00 Plot
Observations 143 141

##grass and forb biomass

Table 1.1: Results of regression for biomass by functional group 2019
  Grass Biomass Forb Biomass
Predictors Estimates Conf. Int (95%) p-Value Estimates Conf. Int (95%) p-Value
(Intercept) 69.44 38.91 – 123.92 <0.001 77.88 49.40 – 122.78 <0.001
Exclosure (Yes) 2.60 1.14 – 5.89 0.022 1.55 0.82 – 2.96 0.179
Fire Energy (Low) 1.42 0.62 – 3.22 0.404 0.70 0.37 – 1.34 0.281
Fire Energy (High) 0.41 0.18 – 0.94 0.034 1.26 0.66 – 2.40 0.483
Exclosure (Yes)*Fire
Energy (Low)
0.47 0.15 – 1.49 0.197 1.48 0.60 – 3.69 0.396
Exclosure (Yes)*Fire
Energy (High)
1.48 0.46 – 4.71 0.509 1.69 0.68 – 4.20 0.260
Observations 144 144
Table 1.1: Results of regression for biomass by functional group 2020
  Grass Biomass Forb Biomass
Predictors Estimates Conf. Int (95%) p-Value Estimates Conf. Int (95%) p-Value
(Intercept) 331.52 235.62 – 427.41 <0.001 12.88 5.79 – 28.67 <0.001
Exclosure (Yes) 114.05 -9.03 – 237.14 0.069 5.01 2.06 – 12.20 <0.001
Fire Energy (Low) -11.72 -144.65 – 121.21 0.861 1.15 0.43 – 3.12 0.778
Fire Energy (High) -111.07 -257.85 – 35.71 0.136 3.35 1.24 – 9.05 0.017
Exclosure (Yes)*Fire
Energy (Low)
1.66 -168.56 – 171.87 0.985 0.40 0.13 – 1.22 0.108
Exclosure (Yes)*Fire
Energy (High)
10.91 -173.28 – 195.09 0.906 0.55 0.17 – 1.75 0.307
Random Effects
σ2 43186.51  
τ00 10038.99 Plot  
Observations 135 99

## Analysis of Variance Table
## 
## Response: Distances
##            Df  Sum Sq Mean Sq F value    Pr(>F)    
## Groups      2 0.64128 0.32064  19.553 3.337e-08 ***
## Residuals 138 2.26296 0.01640                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = distances ~ group, data = df)
## 
## $group
##                               diff          lwr         upr     p adj
## High Energy-Control     0.06566638  0.002711641  0.12862111 0.0387513
## Low Energy-Control     -0.09896321 -0.160894221 -0.03703219 0.0006628
## Low Energy-High Energy -0.16462958 -0.227584320 -0.10167485 0.0000000
groupsHerb=trt2019$herb

disHerb <- vegdist(dat2019ord,method="bray")
modHerb <- betadisper(disHerb, groupsHerb)
anova(modHerb)
## Analysis of Variance Table
## 
## Response: Distances
##            Df  Sum Sq   Mean Sq F value Pr(>F)
## Groups      1 0.00759 0.0075944  0.3672 0.5455
## Residuals 139 2.87440 0.0206791
TukeyHSD(modHerb)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = distances ~ group, data = df)
## 
## $group
##                     diff         lwr        upr     p adj
## Control-Cage -0.01467836 -0.06256819 0.03321148 0.5454964
adon.results<-adonis(dat2019ord ~ trt2019$fire*trt2019$herb,strata=trt2019$Plot, method="bray",perm=999)
print(adon.results)
## 
## Call:
## adonis(formula = dat2019ord ~ trt2019$fire * trt2019$herb, permutations = 999,      method = "bray", strata = trt2019$Plot) 
## 
## Blocks:  strata 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##                            Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)
## trt2019$fire                2     2.890 1.44497  4.4060 0.06040  0.744
## trt2019$herb                1     0.343 0.34332  1.0469 0.00718  0.251
## trt2019$fire:trt2019$herb   2     0.336 0.16784  0.5118 0.00702  0.905
## Residuals                 135    44.274 0.32796         0.92540       
## Total                     140    47.843                 1.00000
dat_try2020=
  read.csv("cover20.csv")%>%
  mutate(DM_Cover=as.numeric(DM_Cover)) %>%
  unite("code",c(Plot,Subplot), sep="_") %>%
  as_tibble() %>%
  select(code,Species,DM_Cover) %>%
  pivot_wider(names_from = "Species", values_from = "DM_Cover", values_fill=0)

trt_try2020=
  read.csv("trt.csv")%>%
  unite("code",c(Plot,Subplot), sep="_", remove=FALSE) %>%
  rename(herb=Herbivory.Tr, fire= Fire.Energy.Tr)

trt2020=
  dat_try2020 %>%
  inner_join(trt_try2020) %>%
  select(Plot,code, herb, fire) 

dat2020ord=
  read.csv("cover20.csv")%>%
  mutate(DM_Cover=as.numeric(DM_Cover)) %>%
  unite("code",c(Plot,Subplot), sep="_") %>%
  as_tibble() %>%
  select(code,Species,DM_Cover) %>%
  pivot_wider(names_from = "Species", values_from = "DM_Cover", values_fill=0) %>%
  select(-code)
set.seed(106)  
dat20_NMDS=metaMDS(dat2020ord,k=4,trymax =1000)
## Square root transformation
## Wisconsin double standardization
## Run 0 stress 0.120954 
## Run 1 stress 0.1207188 
## ... New best solution
## ... Procrustes: rmse 0.01458404  max resid 0.1211542 
## Run 2 stress 0.1208106 
## ... Procrustes: rmse 0.005498439  max resid 0.05866822 
## Run 3 stress 0.1208457 
## ... Procrustes: rmse 0.007596885  max resid 0.07897238 
## Run 4 stress 0.1208674 
## ... Procrustes: rmse 0.01138681  max resid 0.1129392 
## Run 5 stress 0.1206619 
## ... New best solution
## ... Procrustes: rmse 0.004852536  max resid 0.05272744 
## Run 6 stress 0.1251471 
## Run 7 stress 0.1214091 
## Run 8 stress 0.1209534 
## ... Procrustes: rmse 0.0136288  max resid 0.1195356 
## Run 9 stress 0.1207866 
## ... Procrustes: rmse 0.007955399  max resid 0.08541724 
## Run 10 stress 0.1206621 
## ... Procrustes: rmse 0.0008873284  max resid 0.006413112 
## ... Similar to previous best
## Run 11 stress 0.122984 
## Run 12 stress 0.1214209 
## Run 13 stress 0.1206616 
## ... New best solution
## ... Procrustes: rmse 0.0005542569  max resid 0.004356755 
## ... Similar to previous best
## Run 14 stress 0.120662 
## ... Procrustes: rmse 0.0006469272  max resid 0.005365695 
## ... Similar to previous best
## Run 15 stress 0.121414 
## Run 16 stress 0.1208393 
## ... Procrustes: rmse 0.01074132  max resid 0.116876 
## Run 17 stress 0.1206616 
## ... New best solution
## ... Procrustes: rmse 0.0003450684  max resid 0.002325966 
## ... Similar to previous best
## Run 18 stress 0.1207643 
## ... Procrustes: rmse 0.004425409  max resid 0.02047469 
## Run 19 stress 0.1207885 
## ... Procrustes: rmse 0.008054406  max resid 0.08784118 
## Run 20 stress 0.1206613 
## ... New best solution
## ... Procrustes: rmse 0.000342827  max resid 0.002218599 
## ... Similar to previous best
## *** Solution reached
dat20_NMDS
## 
## Call:
## metaMDS(comm = dat2020ord, k = 4, trymax = 1000) 
## 
## global Multidimensional Scaling using monoMDS
## 
## Data:     wisconsin(sqrt(dat2020ord)) 
## Distance: bray 
## 
## Dimensions: 4 
## Stress:     0.1206613 
## Stress type 1, weak ties
## Two convergent solutions found after 20 tries
## Scaling: centring, PC rotation, halfchange scaling 
## Species: expanded scores based on 'wisconsin(sqrt(dat2020ord))'

groupsHerb=trt2020$herb

disHerb <- vegdist(dat2020ord,method="bray")
modHerb <- betadisper(disHerb, groupsHerb)
anova(modHerb)
## Analysis of Variance Table
## 
## Response: Distances
##            Df Sum Sq  Mean Sq F value Pr(>F)
## Groups      1 0.0342 0.034248  1.1908  0.277
## Residuals 140 4.0264 0.028760
TukeyHSD(modHerb)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = distances ~ group, data = df)
## 
## $group
##                    diff         lwr        upr     p adj
## Control-Cage 0.03106338 -0.02521519 0.08734196 0.2770375
## Analysis of Variance Table
## 
## Response: Distances
##            Df Sum Sq  Mean Sq F value Pr(>F)
## Groups      2 0.1724 0.086203  2.2872 0.1054
## Residuals 139 5.2388 0.037690
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = distances ~ group, data = df)
## 
## $group
##                               diff         lwr        upr     p adj
## High Energy-Control     0.08268997 -0.01220775 0.17758769 0.1011038
## Low Energy-Control      0.06149055 -0.03340718 0.15638827 0.2777385
## Low Energy-High Energy -0.02119942 -0.11508216 0.07268332 0.8542733
adon.results<-adonis(dat2020ord ~ trt2020$fire*trt2020$herb, method="bray",perm=999, strata=trt2020$Plot)
print(adon.results)
## 
## Call:
## adonis(formula = dat2020ord ~ trt2020$fire * trt2020$herb, permutations = 999,      method = "bray", strata = trt2020$Plot) 
## 
## Blocks:  strata 
## Permutation: free
## Number of permutations: 999
## 
## Terms added sequentially (first to last)
## 
##                            Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)  
## trt2020$fire                2     2.906 1.45287  5.5214 0.07349  0.202  
## trt2020$herb                1     0.424 0.42403  1.6115 0.01072  0.056 .
## trt2020$fire:trt2020$herb   2     0.421 0.21058  0.8003 0.01065  0.490  
## Residuals                 136    35.786 0.26313         0.90513         
## Total                     141    39.537                 1.00000         
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1