Packages
library(tidyverse)
PFXcover <- read.csv("PFXcover.csv", header=T)
Goals:
Rank Abundance
library(BiodiversityR)
## Warning: package 'BiodiversityR' was built under R version 4.0.5
## Loading required package: tcltk
## Loading required package: vegan
## Warning: package 'vegan' was built under R version 4.0.5
## Loading required package: permute
## Warning: package 'permute' was built under R version 4.0.5
## Loading required package: lattice
## Warning: package 'lattice' was built under R version 4.0.5
## This is vegan 2.5-7
## BiodiversityR 2.14-1: Use command BiodiversityRGUI() to launch the Graphical User Interface;
## to see changes use BiodiversityRGUI(changeLog=TRUE, backward.compatibility.messages=TRUE)
library(tibble)
#
#
#
# #load in community data and environment
# data1 <- data %>% column_to_rownames(var="NAME")
# com <- data1[,53:211]
# head(com)
#
#
# #environmental factors: climbing and site
# env <- data1[,c("CL_UNCL", "T_LOCATION")]
# env$Climbing <- as.factor(env$CL_UNCL)
# env$Site <- as.factor(env$T_LOCATION)
#
# RankAbun1 <- rankabundance(com, y=env)
# RankAbun1
#
#
# rankabunplot(RankAbun1, scale='abundance', addit=FALSE, specnames=c(1,2,3))
#
# #Rank abundance curves by climbing and site
# rankabuncomp(com, y=env, factor="Site", scale='proportion', legend=FALSE)
#
# #by site
# RA.Site <- rankabuncomp(com, y=env, factor='Site',
# return.data=TRUE, specnames=c(1:10), legend=FALSE)
#
#######
#figures for species richness
theme_set(
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
panel.background = element_blank(), axis.text = element_text(size=11, colour = "black"),
axis.line = element_line(colour = "black"), axis.title = element_text(size=16, colour = "black"),
legend.title = element_text(size = 16, colour = "black"), legend.text = element_text(size=16, colour= "black")))
#need to go from wide to long format
columns_rich = c("AF_I", "AF_N", "AG_I", "PF_N", "PG_I", "PG_N", "SH_N","PF_I")
summary(PFXcover$PG_I)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.0000 0.0000 0.5463 0.0000 16.6667
PFXcover$PF_I[is.na(PFXcover$PF_I)]<- 0
PFXcover$AF = PFXcover$AF_I + PFXcover$AF_N
PFXcover$PG = PFXcover$PG_N + PFXcover$PF_I
PFXcover$PF = PFXcover$PF_N + PFXcover$PF_I
PFXcover$SH = PFXcover$SH_N
PFXcover$AG = PFXcover$AG_I
col_rich_short =c("AF", "PG", "PF", "SH", "AG")
rich_longer = pivot_longer(PFXcover, col_rich_short,
names_to = "FXGroup",
values_to = "cover")
## Note: Using an external vector in selections is ambiguous.
## i Use `all_of(col_rich_short)` instead of `col_rich_short` to silence this message.
## i See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
## This message is displayed once per session.
p2 <- ggplot(rich_longer, aes(x=SH_GR, y=cover, fill=FXGroup))
p2 <- p2 + theme_bw()+
geom_bar(position="stack", stat="identity")
p2 <- p2 + facet_grid(~Trt) +
scale_fill_brewer(palette="Dark2")
plot(p2)
long_P <- rich_longer %>%
group_by(PlotID, Trt, SH_GR, Yr, FXGroup) %>%
summarise(mean_cov = mean(cover))
## `summarise()` has grouped output by 'PlotID', 'Trt', 'SH_GR', 'Yr'. You can
## override using the `.groups` argument.
long_P
## # A tibble: 310 x 6
## # Groups: PlotID, Trt, SH_GR, Yr [62]
## PlotID Trt SH_GR Yr FXGroup mean_cov
## <chr> <chr> <chr> <int> <chr> <dbl>
## 1 101C C HSHG 2021 AF 3.33
## 2 101C C HSHG 2021 AG 2.22
## 3 101C C HSHG 2021 PF 5
## 4 101C C HSHG 2021 PG 21.1
## 5 101C C HSHG 2021 SH 50.6
## 6 101C C HSHG 2022 AF 40.6
## 7 101C C HSHG 2022 AG 43.3
## 8 101C C HSHG 2022 PF 15
## 9 101C C HSHG 2022 PG 37.8
## 10 101C C HSHG 2022 SH 48.9
## # ... with 300 more rows
# plant functional group
p2 <- ggplot(long_P, aes(x=Trt, y=mean_cov, fill=FXGroup))+
geom_boxplot()+
theme_bw()+
scale_y_continuous(limits=c(0, 110), expand=c(0,0))+
scale_fill_brewer(palette="Dark2")+
facet_grid(~factor(FXGroup, levels=c("AG", "AF", "PG", "PF", "SH")))+
labs(y="Mean % cover", x = "Treatment")+
theme(legend.position="none")
plot(p2)
a1 <- aov(cover~FXGroup*Trt, data = rich_longer)
summary(a1)
## Df Sum Sq Mean Sq F value Pr(>F)
## FXGroup 4 133706 33426 116.175 < 2e-16 ***
## Trt 1 1344 1344 4.673 0.0309 *
## FXGroup:Trt 4 10653 2663 9.257 2.49e-07 ***
## Residuals 890 256076 288
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(a1)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = cover ~ FXGroup * Trt, data = rich_longer)
##
## $FXGroup
## diff lwr upr p adj
## AG-AF 5.740741 0.853452 10.628030 0.0119439
## PF-AF 12.194444 7.307156 17.081733 0.0000000
## PG-AF 30.824074 25.936785 35.711363 0.0000000
## SH-AF 28.212963 23.325674 33.100252 0.0000000
## PF-AG 6.453704 1.566415 11.340992 0.0029840
## PG-AG 25.083333 20.196045 29.970622 0.0000000
## SH-AG 22.472222 17.584933 27.359511 0.0000000
## PG-PF 18.629630 13.742341 23.516918 0.0000000
## SH-PF 16.018519 11.131230 20.905807 0.0000000
## SH-PG -2.611111 -7.498400 2.276178 0.5886219
##
## $Trt
## diff lwr upr p adj
## T-C -2.449901 -4.674259 -0.2255426 0.0309121
##
## $`FXGroup:Trt`
## diff lwr upr p adj
## AG:C-AF:C 10.87301587 2.5713199 19.174712 0.0014672
## PF:C-AF:C 10.77380952 2.4721135 19.075506 0.0017161
## PG:C-AF:C 24.98015873 16.6784627 33.281855 0.0000000
## SH:C-AF:C 24.88095238 16.5792564 33.182648 0.0000000
## AF:T-AF:C -4.49900794 -12.5370905 3.539075 0.7507889
## AG:T-AF:C -3.24900794 -11.2870905 4.789075 0.9575533
## PF:T-AF:C 8.93849206 0.9004095 16.976575 0.0159484
## PG:T-AF:C 31.43849206 23.4004095 39.476575 0.0000000
## SH:T-AF:C 26.62946429 18.5913817 34.667547 0.0000000
## PF:C-AG:C -0.09920635 -8.4009023 8.202490 1.0000000
## PG:C-AG:C 14.10714286 5.8054469 22.408839 0.0000040
## SH:C-AG:C 14.00793651 5.7062405 22.309632 0.0000049
## AF:T-AG:C -15.37202381 -23.4101064 -7.333941 0.0000001
## AG:T-AG:C -14.12202381 -22.1601064 -6.083941 0.0000015
## PF:T-AG:C -1.93452381 -9.9726064 6.103559 0.9990241
## PG:T-AG:C 20.56547619 12.5273936 28.603559 0.0000000
## SH:T-AG:C 15.75644841 7.7183658 23.794531 0.0000000
## PG:C-PF:C 14.20634921 5.9046532 22.508045 0.0000033
## SH:C-PF:C 14.10714286 5.8054469 22.408839 0.0000040
## AF:T-PF:C -15.27281746 -23.3109000 -7.234735 0.0000001
## AG:T-PF:C -14.02281746 -22.0609000 -5.984735 0.0000018
## PF:T-PF:C -1.83531746 -9.8734000 6.202765 0.9993606
## PG:T-PF:C 20.66468254 12.6266000 28.702765 0.0000000
## SH:T-PF:C 15.85565476 7.8175722 23.893737 0.0000000
## SH:C-PG:C -0.09920635 -8.4009023 8.202490 1.0000000
## AF:T-PG:C -29.47916667 -37.5172492 -21.441084 0.0000000
## AG:T-PG:C -28.22916667 -36.2672492 -20.191084 0.0000000
## PF:T-PG:C -16.04166667 -24.0797492 -8.003584 0.0000000
## PG:T-PG:C 6.45833333 -1.5797492 14.496416 0.2443434
## SH:T-PG:C 1.64930556 -6.3887770 9.687388 0.9997329
## AF:T-SH:C -29.37996032 -37.4180429 -21.341878 0.0000000
## AG:T-SH:C -28.12996032 -36.1680429 -20.091878 0.0000000
## PF:T-SH:C -15.94246032 -23.9805429 -7.904378 0.0000000
## PG:T-SH:C 6.55753968 -1.4805429 14.595622 0.2249682
## SH:T-SH:C 1.74851190 -6.2895707 9.786594 0.9995686
## AG:T-AF:T 1.25000000 -6.5155255 9.015526 0.9999653
## PF:T-AF:T 13.43750000 5.6719745 21.203026 0.0000024
## PG:T-AF:T 35.93750000 28.1719745 43.703026 0.0000000
## SH:T-AF:T 31.12847222 23.3629467 38.893998 0.0000000
## PF:T-AG:T 12.18750000 4.4219745 19.953026 0.0000338
## PG:T-AG:T 34.68750000 26.9219745 42.453026 0.0000000
## SH:T-AG:T 29.87847222 22.1129467 37.643998 0.0000000
## PG:T-PF:T 22.50000000 14.7344745 30.265526 0.0000000
## SH:T-PF:T 17.69097222 9.9254467 25.456498 0.0000000
## SH:T-PG:T -4.80902778 -12.5745533 2.956498 0.6245561
compare 2021 to 2022
# plant functional group
head(long_P)
## # A tibble: 6 x 6
## # Groups: PlotID, Trt, SH_GR, Yr [2]
## PlotID Trt SH_GR Yr FXGroup mean_cov
## <chr> <chr> <chr> <int> <chr> <dbl>
## 1 101C C HSHG 2021 AF 3.33
## 2 101C C HSHG 2021 AG 2.22
## 3 101C C HSHG 2021 PF 5
## 4 101C C HSHG 2021 PG 21.1
## 5 101C C HSHG 2021 SH 50.6
## 6 101C C HSHG 2022 AF 40.6
long_P$Yr <- factor(long_P$Yr)
c21 <- long_P %>% filter(Yr=="2021")
p2 <- ggplot(c21, aes(x=Trt, y=mean_cov, fill=FXGroup))+
geom_boxplot()+
theme_bw()+
scale_y_continuous(limits=c(0, 110), expand=c(0,0))+
scale_fill_brewer(palette="Dark2")+
facet_grid(~factor(FXGroup, levels=c("AG", "AF", "PG", "PF", "SH")))+
labs(y="Mean % cover", x = "Treatment", title = "2021")+
theme(legend.position="none")
plot(p2)
c21_longer = rich_longer %>% filter(Yr=="2021")
a1 <- aov(cover~FXGroup*Trt, data = c21_longer)
summary(a1)
## Df Sum Sq Mean Sq F value Pr(>F)
## FXGroup 4 91362 22840 120.770 <2e-16 ***
## Trt 1 26 26 0.139 0.709
## FXGroup:Trt 4 1892 473 2.501 0.042 *
## Residuals 425 80377 189
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(a1)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = cover ~ FXGroup * Trt, data = c21_longer)
##
## $FXGroup
## diff lwr upr p adj
## AG-AF 4.674330 -1.037870 10.386529 0.1664608
## PF-AF 14.137931 8.425731 19.850131 0.0000000
## PG-AF 33.429119 27.716919 39.141319 0.0000000
## SH-AF 35.229885 29.517685 40.942085 0.0000000
## PF-AG 9.463602 3.751402 15.175802 0.0000721
## PG-AG 28.754789 23.042589 34.466989 0.0000000
## SH-AG 30.555556 24.843356 36.267756 0.0000000
## PG-PF 19.291188 13.578988 25.003388 0.0000000
## SH-PF 21.091954 15.379754 26.804154 0.0000000
## SH-PG 1.800766 -3.911434 7.512966 0.9099886
##
## $Trt
## diff lwr upr p adj
## T-C 0.4946581 -2.111382 3.100698 0.7092693
##
## $`FXGroup:Trt`
## diff lwr upr p adj
## AG:C-AF:C 8.6752137 -1.230137 18.580564 0.1446731
## PF:C-AF:C 15.7692308 5.863880 25.674581 0.0000269
## PG:C-AF:C 30.5555556 20.650205 40.460906 0.0000000
## SH:C-AF:C 34.4444444 24.539094 44.349795 0.0000000
## AF:T-AF:C 1.2099359 -8.219677 10.639549 0.9999949
## AG:T-AF:C 2.6335470 -6.796066 12.063160 0.9967674
## PF:T-AF:C 14.0224359 4.592823 23.452049 0.0001319
## PG:T-AF:C 36.9738248 27.544212 46.403437 0.0000000
## SH:T-AF:C 37.0779915 27.648379 46.507604 0.0000000
## PF:C-AG:C 7.0940171 -2.811333 16.999368 0.4056408
## PG:C-AG:C 21.8803419 11.974991 31.785692 0.0000000
## SH:C-AG:C 25.7692308 15.863880 35.674581 0.0000000
## AF:T-AG:C -7.4652778 -16.894890 1.964335 0.2617654
## AG:T-AG:C -6.0416667 -15.471279 3.387946 0.5726628
## PF:T-AG:C 5.3472222 -4.082390 14.776835 0.7327266
## PG:T-AG:C 28.2986111 18.868998 37.728224 0.0000000
## SH:T-AG:C 28.4027778 18.973165 37.832390 0.0000000
## PG:C-PF:C 14.7863248 4.880974 24.691675 0.0001213
## SH:C-PF:C 18.6752137 8.769863 28.580564 0.0000002
## AF:T-PF:C -14.5592949 -23.988908 -5.129682 0.0000564
## AG:T-PF:C -13.1356838 -22.565296 -3.706071 0.0005029
## PF:T-PF:C -1.7467949 -11.176408 7.682818 0.9998813
## PG:T-PF:C 21.2045940 11.774981 30.634207 0.0000000
## SH:T-PF:C 21.3087607 11.879148 30.738373 0.0000000
## SH:C-PG:C 3.8888889 -6.016462 13.794239 0.9638613
## AF:T-PG:C -29.3456197 -38.775232 -19.916007 0.0000000
## AG:T-PG:C -27.9220085 -37.351621 -18.492396 0.0000000
## PF:T-PG:C -16.5331197 -25.962732 -7.103507 0.0000019
## PG:T-PG:C 6.4182692 -3.011343 15.847882 0.4827613
## SH:T-PG:C 6.5224359 -2.907177 15.952049 0.4583502
## AF:T-SH:C -33.2345085 -42.664121 -23.804896 0.0000000
## AG:T-SH:C -31.8108974 -41.240510 -22.381285 0.0000000
## PF:T-SH:C -20.4220085 -29.851621 -10.992396 0.0000000
## PG:T-SH:C 2.5293803 -6.900232 11.958993 0.9976289
## SH:T-SH:C 2.6335470 -6.796066 12.063160 0.9967674
## AG:T-AF:T 1.4236111 -7.504951 10.352173 0.9999666
## PF:T-AF:T 12.8125000 3.883938 21.741062 0.0002796
## PG:T-AF:T 35.7638889 26.835327 44.692451 0.0000000
## SH:T-AF:T 35.8680556 26.939493 44.796618 0.0000000
## PF:T-AG:T 11.3888889 2.460327 20.317451 0.0023719
## PG:T-AG:T 34.3402778 25.411716 43.268840 0.0000000
## SH:T-AG:T 34.4444444 25.515882 43.373007 0.0000000
## PG:T-PF:T 22.9513889 14.022827 31.879951 0.0000000
## SH:T-PF:T 23.0555556 14.126993 31.984118 0.0000000
## SH:T-PG:T 0.1041667 -8.824396 9.032729 1.0000000
c22 <- long_P %>% filter(Yr=="2022")
p2 <- ggplot(c22, aes(x=Trt, y=mean_cov, fill=FXGroup))+
geom_boxplot()+
theme_bw()+
scale_y_continuous(limits=c(0, 110), expand=c(0,0))+
scale_fill_brewer(palette="Dark2")+
facet_grid(~factor(FXGroup, levels=c("AG", "AF", "PG", "PF", "SH")))+
labs(y="Mean % cover", x = "Treatment", title = "2022")+
theme(legend.position="none")
plot(p2)
c22_longer = rich_longer %>% filter(Yr=="2022")
a1 <- aov(cover~FXGroup*Trt, data = c21_longer)
summary(a1)
## Df Sum Sq Mean Sq F value Pr(>F)
## FXGroup 4 91362 22840 120.770 <2e-16 ***
## Trt 1 26 26 0.139 0.709
## FXGroup:Trt 4 1892 473 2.501 0.042 *
## Residuals 425 80377 189
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(a1)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = cover ~ FXGroup * Trt, data = c21_longer)
##
## $FXGroup
## diff lwr upr p adj
## AG-AF 4.674330 -1.037870 10.386529 0.1664608
## PF-AF 14.137931 8.425731 19.850131 0.0000000
## PG-AF 33.429119 27.716919 39.141319 0.0000000
## SH-AF 35.229885 29.517685 40.942085 0.0000000
## PF-AG 9.463602 3.751402 15.175802 0.0000721
## PG-AG 28.754789 23.042589 34.466989 0.0000000
## SH-AG 30.555556 24.843356 36.267756 0.0000000
## PG-PF 19.291188 13.578988 25.003388 0.0000000
## SH-PF 21.091954 15.379754 26.804154 0.0000000
## SH-PG 1.800766 -3.911434 7.512966 0.9099886
##
## $Trt
## diff lwr upr p adj
## T-C 0.4946581 -2.111382 3.100698 0.7092693
##
## $`FXGroup:Trt`
## diff lwr upr p adj
## AG:C-AF:C 8.6752137 -1.230137 18.580564 0.1446731
## PF:C-AF:C 15.7692308 5.863880 25.674581 0.0000269
## PG:C-AF:C 30.5555556 20.650205 40.460906 0.0000000
## SH:C-AF:C 34.4444444 24.539094 44.349795 0.0000000
## AF:T-AF:C 1.2099359 -8.219677 10.639549 0.9999949
## AG:T-AF:C 2.6335470 -6.796066 12.063160 0.9967674
## PF:T-AF:C 14.0224359 4.592823 23.452049 0.0001319
## PG:T-AF:C 36.9738248 27.544212 46.403437 0.0000000
## SH:T-AF:C 37.0779915 27.648379 46.507604 0.0000000
## PF:C-AG:C 7.0940171 -2.811333 16.999368 0.4056408
## PG:C-AG:C 21.8803419 11.974991 31.785692 0.0000000
## SH:C-AG:C 25.7692308 15.863880 35.674581 0.0000000
## AF:T-AG:C -7.4652778 -16.894890 1.964335 0.2617654
## AG:T-AG:C -6.0416667 -15.471279 3.387946 0.5726628
## PF:T-AG:C 5.3472222 -4.082390 14.776835 0.7327266
## PG:T-AG:C 28.2986111 18.868998 37.728224 0.0000000
## SH:T-AG:C 28.4027778 18.973165 37.832390 0.0000000
## PG:C-PF:C 14.7863248 4.880974 24.691675 0.0001213
## SH:C-PF:C 18.6752137 8.769863 28.580564 0.0000002
## AF:T-PF:C -14.5592949 -23.988908 -5.129682 0.0000564
## AG:T-PF:C -13.1356838 -22.565296 -3.706071 0.0005029
## PF:T-PF:C -1.7467949 -11.176408 7.682818 0.9998813
## PG:T-PF:C 21.2045940 11.774981 30.634207 0.0000000
## SH:T-PF:C 21.3087607 11.879148 30.738373 0.0000000
## SH:C-PG:C 3.8888889 -6.016462 13.794239 0.9638613
## AF:T-PG:C -29.3456197 -38.775232 -19.916007 0.0000000
## AG:T-PG:C -27.9220085 -37.351621 -18.492396 0.0000000
## PF:T-PG:C -16.5331197 -25.962732 -7.103507 0.0000019
## PG:T-PG:C 6.4182692 -3.011343 15.847882 0.4827613
## SH:T-PG:C 6.5224359 -2.907177 15.952049 0.4583502
## AF:T-SH:C -33.2345085 -42.664121 -23.804896 0.0000000
## AG:T-SH:C -31.8108974 -41.240510 -22.381285 0.0000000
## PF:T-SH:C -20.4220085 -29.851621 -10.992396 0.0000000
## PG:T-SH:C 2.5293803 -6.900232 11.958993 0.9976289
## SH:T-SH:C 2.6335470 -6.796066 12.063160 0.9967674
## AG:T-AF:T 1.4236111 -7.504951 10.352173 0.9999666
## PF:T-AF:T 12.8125000 3.883938 21.741062 0.0002796
## PG:T-AF:T 35.7638889 26.835327 44.692451 0.0000000
## SH:T-AF:T 35.8680556 26.939493 44.796618 0.0000000
## PF:T-AG:T 11.3888889 2.460327 20.317451 0.0023719
## PG:T-AG:T 34.3402778 25.411716 43.268840 0.0000000
## SH:T-AG:T 34.4444444 25.515882 43.373007 0.0000000
## PG:T-PF:T 22.9513889 14.022827 31.879951 0.0000000
## SH:T-PF:T 23.0555556 14.126993 31.984118 0.0000000
## SH:T-PG:T 0.1041667 -8.824396 9.032729 1.0000000