AG_mean_tab<-AG_mean
colnames(AG_mean_tab)<-c("Total Green", "Dead", "Green Graminoids", "Total Shrubs")
AG_mean_tab
## Total Green Dead Green Graminoids Total Shrubs
## AF 47.14635 257.5676 40.5670 22.4955
## SP 78.51570 46.1526 76.0595 2.7545
AG_sd_tab<-AG_sd
rownames(AG_sd_tab)<-c("AF", "SP")
colnames(AG_sd_tab)<-c("Total Green", "Dead", "Green Graminoids", "Total Shrubs")
AG_sd_tab
## Total Green Dead Green Graminoids Total Shrubs
## AF 17.50383 150.69374 16.41595 28.575414
## SP 18.60152 22.54662 18.90940 6.030617
#Aboveground Green ANOVA
Green_aov<-aov(Green~Location+Error(Site), data=obs)
summary(Green_aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 9840 9840 7.327 0.114
## Residuals 2 2686 1343
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 36 9709 269.7
#change dead to rank
Dead_rank<-rank(obs$Dead)
Dead_aov<-aov(Dead_rank~Location+ Error(Site), data=obs)
summary(Dead_aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 3802 3802 12.26 0.0728 .
## Residuals 2 621 310
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 36 907 25.19
GGraminoid_aov<-aov(Graminoid_green~Location+Error(Site), data=obs)
summary(GGraminoid_aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 12597 12597 10.05 0.0868 .
## Residuals 2 2507 1254
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 36 9406 261.3
#Total shrubs (add 0.01 so that can log)
shrubs.total<-0.01 + obs$shrubs_total
Shrubs_aov<-aov(log(shrubs.total)~Location + Error(Site), data=obs)
summary(Shrubs_aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 187.33 187.33 7.104 0.117
## Residuals 2 52.74 26.37
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 36 228.6 6.351
BG.aov<-aov(Livegr~Location + Error(Site), data=obs)
summary(BG.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 1154782 1154782 24.4 0.0386 *
## Residuals 2 94651 47326
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 36 1780149 49449
allgr.rank<-rank(obs$allgr)
allgr.aov<-aov(allgr.rank~Location + Error(Site), data=obs)
summary(allgr.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 2755.6 2755.6 27.09 0.035 *
## Residuals 2 203.4 101.7
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 36 2371 65.86
# show in table format
BG_mean_tab<-BG_mean
colnames(BG_mean_tab)<-c("Live", "Standing Crop")
BG_mean_tab
## Live Standing Crop
## AF 117.6490 491.4469
## SP 457.4698 1260.3665
# standard deviations
BG_sd_tab<-BG_sd
rownames(BG_sd_tab)<-c("AF", "SP")
colnames(BG_sd_tab)<-c("Live", "Standing Crop")
BG_sd_tab
## Live Standing Crop
## AF 171.3111 394.5905
## SP 263.2987 468.5512
nitrate.aov<-aov(N03~Location+ Error(PlotID), data=obsN)
summary(nitrate.aov)
##
## Error: PlotID
## Df Sum Sq Mean Sq
## Location 1 0.0005357 0.0005357
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 0.66 0.655 0.08 0.789
## Residuals 5 41.04 8.208
nitrate.2.aov<-aov(log(N03)~Location +Error(obsN_site), data=obsN.2.site)
summary(nitrate.2.aov)
##
## Error: obsN_site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 0.1927 0.1927 0.245 0.669
## Residuals 2 1.5699 0.7850
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 4 11.26 2.816
ammonium.aov<-aov(Nh4~Location + Error(PlotID), data=obsN)
summary(ammonium.aov)
##
## Error: PlotID
## Df Sum Sq Mean Sq
## Location 1 476 476
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 39.71 39.71 1.557 0.267
## Residuals 5 127.55 25.51
ammonium.2.aov<-aov(Nh4~Location + Error(obsN_site), data=obsN.2.site)
summary(ammonium.2.aov)
##
## Error: obsN_site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 489.2 489.2 19.89 0.0468 *
## Residuals 2 49.2 24.6
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 4 104.8 26.21
# show in table format
N_mean.tab<-N_mean
colnames(N_mean.tab)<-c("Nitrate", "Ammonium")
N_mean.tab
## Nitrate Ammonium
## AF 2.410 14.635
## SP 2.145 30.275
# standard deviations
N_sd.tab<-N_sd
rownames(N_sd.tab)<-c("AF", "SP")
colnames(N_sd.tab)<-c("Nitrate", "Ammonium")
N_sd.tab
## Nitrate Ammonium
## AF 2.455307 4.828454
## SP 2.797124 5.294050
# show in table format
N_mean.2_tab<-N_mean.2
colnames(N_mean.2_tab)<-c("Nitrate", "Ammonium")
N_mean.2_tab
## Nitrate Ammonium
## AF 2.410 14.635
## SP 2.145 30.275
# standard deviations
N_sd.2_tab.2<-N_sd.2
rownames(N_sd.2_tab.2)<-c("AF", "SP")
colnames(N_sd.2_tab.2)<-c("Nitrate", "Ammonium")
N_sd.2_tab.2
## Nitrate Ammonium
## AF 2.455307 4.828454
## SP 2.797124 5.294050
#dev.new(width=8, height=7)
layout(matrix(c(1,2,3,4), 2, 2, byrow = TRUE),
widths=c(5,3), heights=c(2,2))
par(mar=c(5.5,4.5, 1, 2), mai=c(0.75,1.2,0.6,0.3), mgp=c(3,1.1,0.25))
AG_barplot<-barplot(AG_mean, col=c("grey80", "grey30"),
ylab=expression("Aboveground Biomass" ~~ (g ~ m^{-2})),beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.25, lwd=2, ylim=c(0,500))
arrows(AG_barplot, AG_mean-AG_sd, AG_barplot, AG_mean+AG_sd, length=0.05, angle=90, code=3)
BG_barplot<-barplot(BG_mean, col=c("grey80", "grey30"),
ylab=expression("Belowground Biomass" ~~ (g ~ m^{-2})),beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.25, lwd=2, ylim=c(0,2000))
arrows(BG_barplot, BG_mean-BG_sd, BG_barplot, BG_mean+BG_sd, length=0.05, angle=90, code=3)
par(mar=c(4,18, 3, 1 ))
N_barplot<-barplot(N_mean, col=c("grey80", "grey30"),
ylab=expression("N Supply Rate" ~~ (mu*g ~ 10*cm^{-2} ~ 24*h^{-1})),beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.25, lwd=2, ylim=c(0,40))
arrows(N_barplot, N_mean-N_sd, N_barplot, N_mean+N_sd, length=0.05, angle=90, code=3)
par(mar=c(0,0,4,3))
plot.new()
#par(xpd=TRUE)
legend("topright", col=c("grey80", "grey30"), pch=15, legend=c("AF - ungrazed", "SP - grazed"), cex=1.25, bty="n")
#textClick("a)", cex=1.75)
#textClick("b)", cex=1.75)
#textClick("c)", cex=1.75)
#textClick("*", cex=2)
#textClick("*", cex=2)
#textClick("**", cex=2)
#textClick("**", cex=2)
#dev.new(width=8, height=7)
layout(matrix(c(1,2,3,4), 2, 2, byrow = TRUE),
widths=c(5,3), heights=c(2,2))
par(mar=c(5.5,4.5, 1, 2), mai=c(0.75,1.2,0.6,0.3), mgp=c(3,1.1,0.25))
AG_barplot<-barplot(AG_mean, col=c("grey80", "grey30"),
ylab=expression("Aboveground Biomass" ~~ (g ~ m^{-2})),beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.25, lwd=2, ylim=c(0,500))
arrows(AG_barplot, AG_mean-AG_sd, AG_barplot, AG_mean+AG_sd, length=0.05, angle=90, code=3)
BG_barplot<-barplot(BG_mean, col=c("grey80", "grey30"),
ylab=expression("Belowground Biomass" ~~ (g ~ m^{-2})),beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.25, lwd=2, ylim=c(0,2000))
arrows(BG_barplot, BG_mean-BG_sd, BG_barplot, BG_mean+BG_sd, length=0.05, angle=90, code=3)
par(mar=c(4,18, 3, 1 ))
N2_barplot<-barplot(N_mean.2, col=c("grey80", "grey30"),
ylab=expression("N Supply Rate" ~~ (mu*g ~ 10*cm^{-2} ~ 24*h^{-1})),beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.25, lwd=2, ylim=c(0,40))
arrows(N2_barplot, N_mean.2-N_sd.2, N2_barplot, N_mean.2+N_sd.2, length=0.05, angle=90, code=3)
par(mar=c(0,0,4,3))
plot.new()
#par(xpd=TRUE)
legend("topright", col=c("grey80", "grey30"), pch=15, legend=c("AF - ungrazed", "SP - grazed"), cex=1.25, bty="n")
#textClick("a)", cex=1.75)
#textClick("b)", cex=1.75)
#textClick("c)", cex=1.75)
#textClick("*", cex=2)
#textClick("*", cex=2)
#textClick("**", cex=2)
#textClick("**", cex=2)
#textClick("**", cex=2)
#dev.new(width=8, height=7)
layout(matrix(c(1,2,3,4), 2, 2, byrow = TRUE),
widths=c(5,3), heights=c(2,2))
par(mar=c(2.5,3.5, 1, 0.5), mai=c(0.75,1.2,0.6,0.1), mgp=c(3,1.1,0.25))
boxplot(Value.ag~Location.ag*Abovegroundtype.ag,data=obs.ag,frame.plot=FALSE,axes=FALSE, notch=FALSE, at =c(1,2,4,5, 7,8,10,11),
col=c("grey80", "grey30"),ylab=expression("Aboveground Biomass" ~~ (g ~ m^{-2})),beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.75, lwd=1, ylim=c(0,600))
axis(side=2, lwd=2)
mtext(c("Dead","Total \nGreen","Green \nGraminoids",
"Shrubs"), side = 1, at =c(1.5,4.5, 7.5, 10.5), cex=1, line=2)
boxplot(Value.bg~Location.bg*Belowgroundtype.bg,data=obs.bg,frame.plot=FALSE,axes=FALSE, notch=FALSE, at =c(1,2,4,5),
col=c("grey80", "grey30"),ylab=expression("Belowground Biomass" ~~ (g ~ m^{-2})),beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.75, lwd=1, ylim=c(0,2000))
axis(side=2, lwd=2)
mtext(c("Live", "Standing \nCrop"), side = 1, at =c(1.5,4.5), cex=1, line=2)
par(mar=c(4,19, 3, 1 ))
boxplot(Value.nit~Location.nit*Nitrogen.nit,data=obs.nit,frame.plot=FALSE,axes=FALSE, notch=FALSE, at =c(1,2,4,5),
col=c("grey80", "grey30"),ylab=expression("N Supply Rate" ~~ (mu*g ~ 10*cm^{-2} ~ 24*h^{-1})),beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.75, lwd=1, ylim=c(0,40))
axis(side=2, lwd=2)
mtext(c("Ammonium", "Nitrate"), side = 1, at =c(1.5,4.5), cex=1, line=2)
par(mar=c(0,0,4,3))
plot.new()
#par(xpd=TRUE)
legend("topright", col=c("grey80", "grey30"), pch=15, legend=c("AF - ungrazed", "SP - grazed"), cex=1.25, bty="n")
#textClick("a)", cex=1.75)
#textClick("b)", cex=1.75)
#textClick("c)", cex=1.75)
#textClick("*", cex=2)
#textClick("*", cex=2)
#textClick("**", cex=2)
#textClick("**", cex=2)
#textClick("**", cex=2)
N.c.aov<-aov(TotalN~Location + Error(Site), data=obsCN_c)
summary(N.c.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 6.003 6.003 15.57 0.0169 *
## Residuals 4 1.542 0.386
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 24 1.74 0.07249
N.c.2.aov<-aov(TotalN~Location + Error(Site), data=carex.2.sites)
summary(N.c.2.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 3.654 3.654 47.51 0.0204 *
## Residuals 2 0.154 0.077
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 16 0.6632 0.04145
N.e.aov<-aov(TotalN~Location + Error(Site), data=obsCN_e)
summary(N.e.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 2.174 2.1744 5.996 0.0499 *
## Residuals 6 2.176 0.3626
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 32 1.581 0.0494
N.e.2.aov<-aov(TotalN~Location + Error(Site), data=eriophorum.2.sites)
summary(N.e.2.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 1.1050 1.1050 112.5 0.00877 **
## Residuals 2 0.0197 0.0098
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 16 0.5047 0.03154
N.s.aov<-aov(TotalN~Location + Error(Site), data=obsCN_s)
summary(N.s.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 0.013 0.0130 0.016 0.912
## Residuals 2 1.651 0.8255
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 16 2.575 0.1609
C.c.aov<-aov(TotalC~Location + Error(Site), data=obsCN_c)
summary(C.c.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 3.997 3.997 3.346 0.141
## Residuals 4 4.778 1.195
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 24 4.042 0.1684
C.c.2.aov<-aov(TotalC~Location + Error(Site), data=carex.2.sites)
summary(C.c.2.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 4.91 4.910 2.633 0.246
## Residuals 2 3.73 1.865
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 16 1.682 0.1051
C.e.aov<-aov(TotalC~Location + Error(Site), data=obsCN_e)
summary(C.e.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 0.246 0.2465 0.169 0.695
## Residuals 6 8.760 1.4600
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 32 9.694 0.3029
C.e.2.aov<-aov(TotalC~Location + Error(Site), data=eriophorum.2.sites)
summary(C.e.2.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 0.110 0.110 0.032 0.875
## Residuals 2 6.897 3.448
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 16 3.405 0.2128
C.s.aov<-aov(TotalC~Location + Error(Site), data=obsCN_s)
summary(C.s.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 2.679 2.679 0.342 0.618
## Residuals 2 15.645 7.822
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 16 11.83 0.7391
CN.c.aov<-aov(C.N~Location + Error(Site), data=obsCN_c)
summary(CN.c.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 314.36 314.36 14.8 0.0183 *
## Residuals 4 84.96 21.24
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 24 100.4 4.185
CN.c.2.aov<-aov(log(C.N)~Location + Error(Site), data=carex.2.sites)
summary(CN.c.2.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 0.5999 0.5999 48.31 0.0201 *
## Residuals 2 0.0248 0.0124
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 16 0.1478 0.009238
CN.e.aov<-aov(C.N~Location + Error(Site), data=obsCN_e)
summary(CN.e.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 341.6 341.6 7.696 0.0322 *
## Residuals 6 266.3 44.4
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 32 208.4 6.513
bartlett.test(C.N~Location, data=eriophorum.2.sites)
##
## Bartlett test of homogeneity of variances
##
## data: C.N by Location
## Bartlett's K-squared = 2.411, df = 1, p-value = 0.1205
shapiro.test(eriophorum.2.sites$C.N)
##
## Shapiro-Wilk normality test
##
## data: eriophorum.2.sites$C.N
## W = 0.93924, p-value = 0.232
CN.e.2.aov<-aov(C.N~Location + Error(Site), data=eriophorum.2.sites)
summary(CN.e.2.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 218.06 218.06 216.9 0.00458 **
## Residuals 2 2.01 1.01
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 16 117.1 7.321
CN.s.aov<-aov(C.N~Location + Error(Site), data=obsCN_s)
summary(CN.s.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 19.75 19.75 0.291 0.643
## Residuals 2 135.58 67.79
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 16 210.8 13.18
# show in table format
N.mean_tab<-N.mean
colnames(N.mean_tab)<-c("Carex stans", "Eriophorum triste", "Salix arctica")
N.mean_tab
## Carex stans Eriophorum triste Salix arctica
## AF 2.075933 2.075933 2.294
## SP 2.970600 2.970600 2.345
# standard deviations
N.sd.tab<-N.sd
rownames(N.sd.tab)<-c("AF", "SP")
colnames(N.sd.tab)<-c("Carex stans", "Eriophorum triste", "Salix arctica")
N.sd.tab
## Carex stans Eriophorum triste Salix arctica
## AF 0.291151 0.291151 0.6457316
## SP 0.386873 0.386873 0.2293416
# show in table format
C.mean_tab<-C.mean
colnames(C.mean_tab)<-c("Carex stans", "Eriophorum triste", "Salix arctica")
C.mean_tab
## Carex stans Eriophorum triste Salix arctica
## AF 45.09733 45.09733 46.406
## SP 45.82733 45.82733 45.674
# standard deviations
C.sd.tab<-C.sd
rownames(C.sd.tab)<-c("AF", "SP")
colnames(C.sd.tab)<-c("Carex stans", "Eriophorum triste", "Salix arctica")
C.sd.tab
## Carex stans Eriophorum triste Salix arctica
## AF 0.5484324 0.9513032 1.281806
## SP 0.5737778 0.4895531 1.187127
#Carbon:Nitrogen
# show in table format
CN.mean_tab<-CN.mean
colnames(CN.mean_tab)<-c("Carex stans", "Eriophorum triste", "Salix arctica")
CN.mean_tab
## Carex stans Eriophorum triste Salix arctica
## AF 22.1268 26.413 21.66377
## SP 15.6526 20.568 19.67632
# standard deviations
CN.sd.tab<-CN.sd
rownames(CN.sd.tab)<-c("AF", "SP")
colnames(CN.sd.tab)<-c("Carex stans", "Eriophorum triste", "Salix arctica")
CN.sd.tab
## Carex stans Eriophorum triste Salix arctica
## AF 3.123388 4.451594 5.757019
## SP 1.867512 2.273823 2.311822
#2 site, show in table format
# show in table format
N.mean.2_tab<-N.mean.2
colnames(N.mean.2_tab)<-c("Carex stans", "Eriophorum triste", "Salix arctica")
N.mean.2_tab
## Carex stans Eriophorum triste Salix arctica
## AF 1.9450 1.9450 2.294
## SP 2.7999 2.7999 2.345
# standard deviations
N.sd.2_tab<-N.sd.2
rownames(N.sd.2_tab)<-c("AF", "SP")
colnames(N.sd.2_tab)<-c("Carex stans", "Eriophorum triste", "Salix arctica")
N.sd.2_tab
## Carex stans Eriophorum triste Salix arctica
## AF 0.2281237 0.2281237 0.6457316
## SP 0.1968296 0.1968296 0.2293416
# show in table format
C.mean.2_tab<-C.mean.2
colnames(C.mean.2_tab)<-c("Carex stans", "Eriophorum triste", "Salix arctica")
C.mean.2_tab
## Carex stans Eriophorum triste Salix arctica
## AF 44.988 44.988 46.406
## SP 45.979 45.979 45.674
# standard deviations
C.sd.2_tab<-C.sd.2
rownames(C.sd.2_tab)<-c("AF", "SP")
colnames(C.sd.2_tab)<-c("Carex stans", "Eriophorum triste", "Salix arctica")
C.sd.2_tab
## Carex stans Eriophorum triste Salix arctica
## AF 0.5119201 0.9513032 1.281806
## SP 0.5824555 0.4895531 1.187127
#Carbon:Nitrogen
# show in table format
CN.mean.2_tab<-CN.mean.2
colnames(CN.mean.2_tab)<-c("Carex stans", "Eriophorum triste", "Salix arctica")
CN.mean.2_tab
## Carex stans Eriophorum triste Salix arctica
## AF 23.4279 28.761 21.66377
## SP 16.4851 22.157 19.67632
# standard deviations
CN.sd.2_tab<-CN.sd.2
rownames(CN.sd.2_tab)<-c("AF", "SP")
colnames(CN.sd.2_tab)<-c("Carex stans", "Eriophorum triste", "Salix arctica")
CN.sd.2_tab
## Carex stans Eriophorum triste Salix arctica
## AF 2.832731 3.147071 5.757019
## SP 1.007190 1.825937 2.311822
#dev.new(width=8, height=7)
layout(matrix(c(1,2,3,4), 2, 2, byrow = TRUE),
widths=c(4,4), heights=c(2,2))
par(mar=c(5.5,3, 1, 1), mai=c(0.75,1,0.3,0.3), mgp=c(3,1.3,0.35))
Nveg_barplot<-barplot(N.mean, col=c("grey80", "grey30"),
ylab="Nitrogen (%)",beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.25, lwd=2, ylim=c(0,4),
names.arg=italic_latin)
arrows(Nveg_barplot, N.mean-N.sd, Nveg_barplot, N.mean+N.sd, length=0.05, angle=90, code=3)
C_barplot<-barplot(C.mean, col=c("grey80", "grey30"),
ylab="Carbon (%)",beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.25, lwd=2, ylim=c(0,55), names.arg=italic_latin)
arrows(C_barplot, C.mean-C.sd, C_barplot, C.mean+C.sd, length=0.05, angle=90, code=3)
par(mar=c(4,5.8, 3, 2 ))
CN_barplot<-barplot(CN.mean, col=c("grey80", "grey30"),
ylab="C:N Ratio",beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.25, lwd=2, ylim=c(0,35), names.arg=italic_latin)
arrows(CN_barplot, CN.mean-CN.sd, CN_barplot, CN.mean+CN.sd, length=0.05, angle=90, code=3)
par(mar=c(0,0,4,6))
plot.new()
#par(xpd=TRUE)
legend("topright", col=c("grey80", "grey30"), pch=15, legend=c("AF - ungrazed", "SP - grazed"), cex=1.25, bty="n")
#textClick("a)", cex=1.75)
#textClick("b)", cex=1.75)
#textClick("c)", cex=1.75)
#textClick("**", cex=2)
#textClick("**", cex=2)
#textClick("**", cex=2)
# For two sites only
CN.mean.2<-cbind(CN_c_mean.2, CN_e_mean.2, CN_s_mean.2)
#Aboveground barplot with error bars
#dev.new(width=8, height=7)
layout(matrix(c(1,2,3,4), 2, 2, byrow = TRUE),
widths=c(4,4), heights=c(2,2))
par(mar=c(5.5,3, 1, 1), mai=c(0.75,1,0.3,0.3), mgp=c(3,1.3,0.35))
Nveg_barplot.2<-barplot(N.mean.2, col=c("grey80", "grey30"),
ylab="Nitrogen (%)",beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.25, lwd=2, ylim=c(0,4),
names.arg=italic_latin)
arrows(Nveg_barplot.2, N.mean.2-N.sd.2, Nveg_barplot.2, N.mean.2+N.sd.2, length=0.05, angle=90, code=3)
C_barplot.2<-barplot(C.mean.2, col=c("grey80", "grey30"),
ylab="Carbon (%)",beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.25, lwd=2, ylim=c(0,55), names.arg=italic_latin)
arrows(C_barplot.2, C.mean.2-C.sd.2, C_barplot.2, C.mean.2+C.sd.2, length=0.05, angle=90, code=3)
par(mar=c(4,5.8, 3, 2 ))
CN_barplot.2<-barplot(CN.mean.2, col=c("grey80", "grey30"),
ylab="C:N Ratio",beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.25, lwd=2, ylim=c(0,35), names.arg=italic_latin)
arrows(CN_barplot.2, CN.mean.2-CN.sd.2, CN_barplot.2, CN.mean.2+CN.sd.2, length=0.05, angle=90, code=3)
par(mar=c(0,0,4,6))
plot.new()
#par(xpd=TRUE)
legend("topright", col=c("grey80", "grey30"), pch=15, legend=c("AF - ungrazed", "SP - grazed"), cex=1.25, bty="n")
#textClick("a)", cex=1.75)
#textClick("b)", cex=1.75)
#textClick("c)", cex=1.75)
#textClick("**", cex=2)
#textClick("**", cex=2)
#textClick("**", cex=2)
#textClick("**", cex=2)
#dev.new(width=8, height=7)
layout(matrix(c(1,2,3,4), 2, 2, byrow = TRUE),
widths=c(4,4), heights=c(2,2))
par(mar=c(5.5,3, 1, 1), mai=c(0.75,1,0.3,0.3), mgp=c(3,1.3,0.35))
boxplot(Value.vegnit~Location.vegnit*Nitrogen.vegnit,data=vegnitrogen,frame.plot=FALSE,axes=FALSE, notch=FALSE, at =c(1,2,4,5, 7,8),
col=c("grey80", "grey30"),ylab="Nitrogen (%)",beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.75, lwd=1, ylim=c(1,4))
axis(side=2, lwd=2)
mtext(c(expression(italic("Carex \n stans")), expression(italic("Eriophorum \n triste")), expression
(italic(" Salix \narctica"))), side = 1, at =c(1.5,4.5, 7.5), cex=1, line=2)
boxplot(Value.vegcar~Location.vegcar*Carbon.vegcar,data=vegcarrogen,frame.plot=FALSE,axes=FALSE, notch=FALSE,at =c(1,2,4,5, 7,8),
col=c("grey80", "grey30"),ylab="Carbon (%)" ,beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.75, lwd=1, ylim=c(44,48))
axis(side=2, lwd=2)
mtext(c(expression(italic("Carex \n stans")), expression(italic("Eriophorum \n triste")), expression
(italic(" Salix \narctica"))), side = 1, at =c(1.5,4.5, 7.5), cex=1, line=2)
par(mar=c(4,5.8, 3, 2 ))
boxplot(Value.vegc.n~Location.vegc.n*C.N.vegc.n,data=vegc.n,frame.plot=FALSE,axes=FALSE, notch=FALSE, at =c(1,2,4,5, 7,8),
col=c("grey80", "grey30"),ylab="C:N Ratio",beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.75, lwd=1, ylim=c(10,35))
axis(side=2, lwd=2)
mtext(c(expression(italic("Carex \n stans")), expression(italic("Eriophorum \n triste")), expression
(italic(" Salix \narctica"))), side = 1, at =c(1.5,4.5, 7.5), cex=1, line=2)
par(mar=c(0,0,4,6))
plot.new()
#par(xpd=TRUE)
legend("topright", col=c("grey80", "grey30"), pch=15, legend=c("AF - ungrazed", "SP - grazed"), cex=1.25, bty="n")
#textClick("a)", cex=1.75)
#textClick("b)", cex=1.75)
#textClick("c)", cex=1.75)
#textClick("**", cex=2)
#textClick("**", cex=2)
#textClick("**", cex=2)
#textClick("**", cex=2)
obsresp.mean.sd
## AF SP
## Mean 1.2536032 1.8200310
## Standard deviation 0.4098402 0.7542147
resp.rank<-rank(obsresp$aveflux)
resp.aov<-aov(resp.rank~Location +Error(Site), data=obsresp)
summary(resp.aov)
##
## Error: Site
## Df Sum Sq Mean Sq F value Pr(>F)
## Location 1 1633.3 1633.3 4.507 0.168
## Residuals 2 724.8 362.4
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 44 6854 155.8
#dev.new(width=6, height=6)
par(mar=c(2,2,2,1), mai=c(1,1,0.75,0))
resp_barplot<-barplot(obsresp.mean, col=c("grey80", "grey30"),
ylab=expression("Ecosystem Respiration" ~~ (mu*mol ~ m^{-2} ~ s^{-1})),beside=TRUE,
cex.lab=1.5, cex.axis=1.1,cex.names=1.25, lwd=2, ylim=c(0,3), names.arg=c("AF - ungrazed", "SP - grazed") )
arrows(resp_barplot, obsresp.mean-obsresp.sd, resp_barplot, obsresp.mean+obsresp.sd, length=0.05, angle=90, code=3)