library(vegan) #community ecology
library(ggplot2) #data viz
library(dplyr) #data manipulation
library(tidyr) #data manipulation
library(ggpubr) #for combining multiple ggplots into one figure
library(ddpcr) #for joining data sets
bring in the data, make functional groupings a factor. Using long data set because that was the long way to add in functional groups.
long <- read.csv("~/Research/Manuscript/Long_data.csv", header=TRUE)
long <- long %>%
group_by(T_LOCATION) %>%
filter(T_LOCATION %in% c("HB", "TR")| n() == 1)
#remove bluff mtn
long <- long %>%
group_by(P_LOCATION) %>%
filter(P_LOCATION %in% c("FACE")| n() == 1)
lichen <- long[long$TAXA=="L", ]
lichen$Functional <- factor(lichen$Functional)
summary(lichen$Functional)
## CRUST FRUIT LOBE POWDER UMB
## 9686 5344 7014 3340 1336
create a list of columns which we care about (environmetnal factors)
env <- c("CL_UNCL", "T_LOCATION", "SLOPE", "ASPECT_NORTH", "ASPECT_EAST", "ROUTE","PLOT_NUM")
crust <- lichen[lichen$Functional=="CRUST",]
crust <- spread(crust, Species, Abundance)
which(colnames(crust)=="BLBRDOT") #16
## [1] 16
which(colnames(crust)=="YELLWART") #44
## [1] 44
crust.matrix <- crust[,16:44]
crust_incic <- crust [,env]
crust_incic$crust.rich <- rowSums(crust.matrix>0)
crust_incic$crust.div <- diversity(crust.matrix) # shannon is default
crust_incic$crust.cov <- rowSums(crust.matrix)
fruit <- lichen[lichen$Functional=="FRUIT",]
fruit <- spread(fruit, Species, Abundance)
which(colnames(fruit)=="WHITREIN") #31
## [1] 31
fruit.matrix <- fruit[,16:31]
fruit_indic <- fruit [,env]
fruit_indic$fruit.rich <- rowSums(fruit.matrix>0)
fruit_indic$fruit.div <- diversity(fruit.matrix) # shannon is default
fruit_indic$fruit.cov <- rowSums(fruit.matrix)
lobe <- lichen[lichen$Functional=="LOBE",]
lobe <- spread(lobe, Species, Abundance)
which(colnames(lobe)=="WHITEFOL") #31
## [1] 36
lobe.matrix <- lobe[,16:36]
lobe_indic <- lobe [,env]
lobe_indic$lobe.rich <- rowSums(lobe.matrix>0)
lobe_indic$lobe.div <- diversity(lobe.matrix) # shannon is default
lobe_indic$lobe.cov <- rowSums(lobe.matrix)
powder <- lichen[lichen$Functional=="POWDER",]
powder <- spread(powder, Species, Abundance)
which(colnames(powder)=="YELPDR") #25
## [1] 25
powder.matrix <- powder[,16:25]
powder_indic <- powder [,env]
powder_indic$powder.rich <- rowSums(powder.matrix>0)
powder_indic$powder.div <- diversity(powder.matrix) # shannon is default
powder_indic$powder.cov <- rowSums(powder.matrix)
umb <- lichen[lichen$Functional=="UMB",]
umb <- spread(umb, Species, Abundance)
which(colnames(umb)=="TOADSK") #19
## [1] 19
umb.matrix <- umb[,16:19]
umb_indic <- umb [,env]
umb_indic$umb.rich <- rowSums(umb.matrix>0)
umb_indic$umb.div <- diversity(umb.matrix) # shannon is default
umb_indic$umb.cov <- rowSums(umb.matrix)
merge all the lichen functional groups to one data set
L_merge <- merge(crust_incic, fruit_indic, by.x=env, by.y=env)
L_merge <- merge(L_merge, lobe_indic, by.x=env, by.y=env)
L_merge <- merge(L_merge, powder_indic, by.x=env, by.y=env)
L_merge <- merge(L_merge, umb_indic, by.x=env, by.y=env)
head(L_merge)
## CL_UNCL T_LOCATION SLOPE ASPECT_NORTH ASPECT_EAST
## 1 CLIMBED HB 100 0.64 -0.77
## 2 CLIMBED HB 100 0.64 -0.77
## 3 CLIMBED HB 100 0.64 -0.77
## 4 CLIMBED HB 100 0.64 -0.77
## 5 CLIMBED HB 100 0.64 -0.77
## 6 CLIMBED HB 100 0.64 -0.77
## ROUTE PLOT_NUM crust.rich crust.div crust.cov
## 1 BONGO FURY 1 3 1.0027400 17
## 2 BONGO FURY 2 1 0.0000000 9
## 3 BONGO FURY 3 3 0.9908354 15
## 4 BONGO FURY 4 2 0.6914161 17
## 5 IF YOU BOLT IT THEY WILL COME 1 4 1.2068519 25
## 6 IF YOU BOLT IT THEY WILL COME 10 1 0.0000000 9
## fruit.rich fruit.div fruit.cov lobe.rich lobe.div lobe.cov powder.rich
## 1 2 0.6365142 3 1 0 2 1
## 2 1 0.0000000 4 0 0 0 1
## 3 0 0.0000000 0 0 0 0 2
## 4 2 0.6365142 3 0 0 0 1
## 5 0 0.0000000 0 0 0 0 0
## 6 0 0.0000000 0 0 0 0 2
## powder.div powder.cov umb.rich umb.div umb.cov
## 1 0.0000000 2 1 0.0000000 9
## 2 0.0000000 6 2 0.4741393 11
## 3 0.4101163 7 1 0.0000000 9
## 4 0.0000000 5 1 0.0000000 9
## 5 0.0000000 0 1 0.0000000 7
## 6 0.5004024 5 0 0.0000000 0
#use head(L_merge) to keep track of column labels
#metadata
which(colnames(L_merge)=="CL_UNCL") #1
## [1] 1
which(colnames(L_merge)=="PLOT_NUM") #7
## [1] 7
listofnames <- c("crust", "fruit", "lobe", "powder", "umb")
#richness
which(colnames(L_merge)=="crust.rich") #8
## [1] 8
which(colnames(L_merge)=="umb.rich") #20
## [1] 20
#r <- c(1:7, 8, 11, 14, 17, 20) #these columms with metadata and richness
richness <- L_merge[, c(1:7, 8, 11, 14, 17, 20)]
colnames(richness)[8:12] <- listofnames #rename columns
richness <- gather(richness, fx, richness, 8:12) #long format
#fx is functional group
#diversity
which(colnames(L_merge)=="crust.div") #9
## [1] 9
which(colnames(L_merge)=="umb.div") #21
## [1] 21
#d<- c(1:7, 9, 12, 15, 18, 21)
diversity <- L_merge[, c(1:7, 9, 12, 15, 18, 21)]
colnames(diversity)[8:12] <- listofnames #rename columns
diversity <- gather(diversity, fx, diversity, 8:12) #long format
#cover
which(colnames(L_merge)=="crust.cov") #10
## [1] 10
which(colnames(L_merge)=="umb.cov") #22
## [1] 22
#c<- c(1:7, 10, 13, 16, 19, 22)
cover <- L_merge[,c(1:7, 10, 13, 16, 19, 22)]
colnames(cover)[8:12] <- listofnames #rename columns
cover <- gather(cover, fx, cover, 8:12) #long format
#combine them all together
env1 <- c("CL_UNCL", "T_LOCATION", "SLOPE", "ASPECT_NORTH", "ASPECT_EAST", "ROUTE","PLOT_NUM", "fx")
lindic <- merge(richness, diversity, by.x=env1, by.y=env1)
lindic <- merge(lindic, cover, by.x=env1, by.y=env1)
head(lindic)
## CL_UNCL T_LOCATION SLOPE ASPECT_NORTH ASPECT_EAST ROUTE PLOT_NUM fx
## 1 CLIMBED HB 100 0.64 -0.77 BONGO FURY 1 crust
## 2 CLIMBED HB 100 0.64 -0.77 BONGO FURY 1 fruit
## 3 CLIMBED HB 100 0.64 -0.77 BONGO FURY 1 lobe
## 4 CLIMBED HB 100 0.64 -0.77 BONGO FURY 1 powder
## 5 CLIMBED HB 100 0.64 -0.77 BONGO FURY 1 umb
## 6 CLIMBED HB 100 0.64 -0.77 BONGO FURY 2 crust
## richness diversity cover
## 1 3 1.0027400 17
## 2 2 0.6365142 3
## 3 1 0.0000000 2
## 4 1 0.0000000 2
## 5 1 0.0000000 9
## 6 1 0.0000000 9
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")
))
#richness
p <- ggplot(lindic, aes(x=T_LOCATION, y=richness, fill=CL_UNCL))
p <- p + geom_violin(trim=FALSE)+theme_classic()
p <- p + labs(y="Species Richness", x="Site", title="Species richness by lichen functional group")
p <- p + facet_wrap(~fx)
pr <- p + scale_fill_grey(name="Climbing", labels = c("Climbed", "Unclimbed"))
plot(pr)
p <- ggplot(lindic, aes(x=T_LOCATION, y=diversity, fill=CL_UNCL))
p <- p + geom_violin(trim=FALSE)+theme_classic()
p <- p + labs(y="Shannon Diversity Index", x="Site", title="Diversity by lichen functional group")
p <- p + facet_wrap(~fx)
pd <- p + scale_fill_grey(name="Climbing", labels = c("Climbed", "Unclimbed"))
plot(pd)
p <- ggplot(lindic, aes(x=T_LOCATION, y=cover, fill=CL_UNCL))
p <- p + geom_violin(trim=TRUE)+theme_classic()
p <- p + labs(y="Relative abundance", x="Site")
p <- p + theme(legend.position = "top")
p <- p + facet_wrap(~fx)
pc <- p + scale_fill_grey(name="Climbing", labels = c("Climbed", "Unclimbed"))
plot(pc)
ggsave("lichen_fc_cover.jpeg", plot = pc, device = "jpeg", width = 8, height = 5, dpi = 300, scale = 1)
might also be interesting to flip climbing and site
p <- ggplot(lindic, aes(x=CL_UNCL, y=richness, fill=T_LOCATION))
p <- p + geom_violin(trim=FALSE)+theme_classic()
p <- p + labs(y="Species Richness", x="Site", title="Species richness by lichen functional group")
p <- p + facet_wrap(~fx)
pr <- p + scale_fill_grey(name="Site", labels = c("HB", "TR"))
plot(pr)
p <- ggplot(lindic, aes(x=CL_UNCL, y=cover, fill=T_LOCATION))
p <- p + geom_violin(trim=FALSE)+theme_classic()
p <- p + labs(y="Relative abundance", x="Site", title="Cover by lichen functional group")
p <- p + facet_wrap(~fx)
pc <- p + scale_fill_grey(name="Site", labels = c("HB", "TR"))
plot(pc)
aov <-aov(richness~fx, data=lindic)
summary(aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## fx 4 349.2 87.29 105.1 <2e-16 ***
## Residuals 1665 1383.1 0.83
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(aov)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = richness ~ fx, data = lindic)
##
## $fx
## diff lwr upr p adj
## fruit-crust -1.41616766 -1.6087633 -1.22357202 0.0000000
## lobe-crust -0.68263473 -0.8752304 -0.49003909 0.0000000
## powder-crust -0.64670659 -0.8393022 -0.45411094 0.0000000
## umb-crust -0.91017964 -1.1027753 -0.71758400 0.0000000
## lobe-fruit 0.73353293 0.5409373 0.92612858 0.0000000
## powder-fruit 0.76946108 0.5768654 0.96205672 0.0000000
## umb-fruit 0.50598802 0.3133924 0.69858367 0.0000000
## powder-lobe 0.03592814 -0.1566675 0.22852379 0.9864548
## umb-lobe -0.22754491 -0.4201406 -0.03494927 0.0111832
## umb-powder -0.26347305 -0.4560687 -0.07087741 0.0018085
aov <-aov(diversity~fx, data=lindic)
summary(aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## fx 4 38.99 9.748 78.64 <2e-16 ***
## Residuals 1665 206.39 0.124
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(aov)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = diversity ~ fx, data = lindic)
##
## $fx
## diff lwr upr p adj
## fruit-crust -0.43645137 -0.51085018 -0.36205256 0.0000000
## lobe-crust -0.21297549 -0.28737430 -0.13857668 0.0000000
## powder-crust -0.24523746 -0.31963626 -0.17083865 0.0000000
## umb-crust -0.38514911 -0.45954792 -0.31075030 0.0000000
## lobe-fruit 0.22347587 0.14907707 0.29787468 0.0000000
## powder-fruit 0.19121391 0.11681510 0.26561272 0.0000000
## umb-fruit 0.05130225 -0.02309655 0.12570106 0.3268577
## powder-lobe -0.03226196 -0.10666077 0.04213685 0.7605319
## umb-lobe -0.17217362 -0.24657243 -0.09777481 0.0000000
## umb-powder -0.13991166 -0.21431047 -0.06551285 0.0000031
aov <-aov(cover~fx, data=lindic)
summary(aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## fx 4 15679 3920 175.9 <2e-16 ***
## Residuals 1665 37106 22
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(aov)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = cover ~ fx, data = lindic)
##
## $fx
## diff lwr upr p adj
## fruit-crust -9.5329341 -10.53050616 -8.535362 0.0000000
## lobe-crust -5.5029940 -6.50056604 -4.505422 0.0000000
## powder-crust -4.7275449 -5.72511693 -3.729973 0.0000000
## umb-crust -3.7784431 -4.77601514 -2.780871 0.0000000
## lobe-fruit 4.0299401 3.03236810 5.027512 0.0000000
## powder-fruit 4.8053892 3.80781720 5.802961 0.0000000
## umb-fruit 5.7544910 4.75691899 6.752063 0.0000000
## powder-lobe 0.7754491 -0.22212292 1.773021 0.2108002
## umb-lobe 1.7245509 0.72697887 2.722123 0.0000251
## umb-powder 0.9491018 -0.04847023 1.946674 0.0711385
aov <-aov(richness~CL_UNCL*T_LOCATION, data=lindic)
summary(aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## CL_UNCL 1 0.9 0.860 0.837 0.360
## T_LOCATION 1 16.7 16.675 16.223 5.88e-05 ***
## CL_UNCL:T_LOCATION 1 2.3 2.319 2.256 0.133
## Residuals 1666 1712.4 1.028
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(aov)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = richness ~ CL_UNCL * T_LOCATION, data = lindic)
##
## $CL_UNCL
## diff lwr upr p adj
## UNCLIMBED-CLIMBED 0.0468254 -0.05356682 0.1472176 0.360408
##
## $T_LOCATION
## diff lwr upr p adj
## TR-HB 0.2555853 0.1304336 0.380737 6.46e-05
##
## $`CL_UNCL:T_LOCATION`
## diff lwr upr p adj
## UNCLIMBED:HB-CLIMBED:HB -0.0862500 -0.38256121 0.2100612 0.8773073
## CLIMBED:TR-CLIMBED:HB 0.1698864 -0.05418595 0.3939587 0.2078066
## UNCLIMBED:TR-CLIMBED:HB 0.2770833 0.03908044 0.5150862 0.0148268
## CLIMBED:TR-UNCLIMBED:HB 0.2561364 0.02583076 0.4864420 0.0222593
## UNCLIMBED:TR-UNCLIMBED:HB 0.3633333 0.11945294 0.6072137 0.0007622
## UNCLIMBED:TR-CLIMBED:TR 0.1071970 -0.04074124 0.2551352 0.2443417
aov <-aov(diversity~CL_UNCL*T_LOCATION, data=lindic)
summary(aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## CL_UNCL 1 0.26 0.2602 1.79 0.181
## T_LOCATION 1 2.54 2.5369 17.45 3.11e-05 ***
## CL_UNCL:T_LOCATION 1 0.34 0.3402 2.34 0.126
## Residuals 1666 242.25 0.1454
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(aov)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = diversity ~ CL_UNCL * T_LOCATION, data = lindic)
##
## $CL_UNCL
## diff lwr upr p adj
## UNCLIMBED-CLIMBED 0.0257543 -0.01200529 0.0635139 0.1811493
##
## $T_LOCATION
## diff lwr upr p adj
## TR-HB 0.0996896 0.05261746 0.1467617 3.44e-05
##
## $`CL_UNCL:T_LOCATION`
## diff lwr upr p adj
## UNCLIMBED:HB-CLIMBED:HB -0.02506445 -0.136513247 0.08638434 0.9385897
## CLIMBED:TR-CLIMBED:HB 0.06688456 -0.017393691 0.15116280 0.1734678
## UNCLIMBED:TR-CLIMBED:HB 0.11591561 0.026397780 0.20543343 0.0049142
## CLIMBED:TR-UNCLIMBED:HB 0.09194901 0.005326292 0.17857172 0.0324500
## UNCLIMBED:TR-UNCLIMBED:HB 0.14098006 0.049251582 0.23270853 0.0004676
## UNCLIMBED:TR-CLIMBED:TR 0.04903105 -0.006611580 0.10467368 0.1064671
aov <-aov(cover~CL_UNCL*T_LOCATION, data=lindic)
summary(aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## CL_UNCL 1 28 27.70 0.878 0.3489
## T_LOCATION 1 176 176.35 5.588 0.0182 *
## CL_UNCL:T_LOCATION 1 5 4.93 0.156 0.6928
## Residuals 1666 52576 31.56
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(aov)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = cover ~ CL_UNCL * T_LOCATION, data = lindic)
##
## $CL_UNCL
## diff lwr upr p adj
## UNCLIMBED-CLIMBED 0.2657357 -0.2905418 0.8220131 0.3489137
##
## $T_LOCATION
## diff lwr upr p adj
## TR-HB 0.8311637 0.1376931 1.524634 0.0188473
##
## $`CL_UNCL:T_LOCATION`
## diff lwr upr p adj
## UNCLIMBED:HB-CLIMBED:HB 0.1108333 -1.5310394 1.752706 0.9981413
## CLIMBED:TR-CLIMBED:HB 0.7113636 -0.5302303 1.952958 0.4538835
## UNCLIMBED:TR-CLIMBED:HB 1.1041667 -0.2146172 2.422951 0.1370130
## CLIMBED:TR-UNCLIMBED:HB 0.6005303 -0.6756026 1.876663 0.6204473
## UNCLIMBED:TR-UNCLIMBED:HB 0.9933333 -0.3580180 2.344685 0.2325392
## UNCLIMBED:TR-CLIMBED:TR 0.3928030 -0.4269287 1.212535 0.6063474
Need to use L_merge df for this.
Just crust first
aov <-aov(crust.rich~CL_UNCL*T_LOCATION, data=L_merge)
summary(aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## CL_UNCL 1 8.3 8.254 7.274 0.007355 **
## T_LOCATION 1 14.6 14.619 12.884 0.000382 ***
## CL_UNCL:T_LOCATION 1 0.4 0.417 0.367 0.544986
## Residuals 330 374.4 1.135
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(aov)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = crust.rich ~ CL_UNCL * T_LOCATION, data = L_merge)
##
## $CL_UNCL
## diff lwr upr p adj
## UNCLIMBED-CLIMBED -0.3243284 -0.5608878 -0.08776914 0.0073549
##
## $T_LOCATION
## diff lwr upr p adj
## TR-HB -0.5351113 -0.8300126 -0.24021 0.0004107
##
## $`CL_UNCL:T_LOCATION`
## diff lwr upr p adj
## UNCLIMBED:HB-CLIMBED:HB -0.5166667 -1.2156790 0.18234568 0.2263854
## CLIMBED:TR-CLIMBED:HB -0.6250000 -1.1535973 -0.09640267 0.0130216
## UNCLIMBED:TR-CLIMBED:HB -0.9583333 -1.5197936 -0.39687310 0.0000833
## CLIMBED:TR-UNCLIMBED:HB -0.1083333 -0.6516353 0.43496862 0.9555036
## UNCLIMBED:TR-UNCLIMBED:HB -0.4416667 -1.0169922 0.13365887 0.1967541
## UNCLIMBED:TR-CLIMBED:TR -0.3333333 -0.6823267 0.01565999 0.0671877
aov <-aov(crust.div~CL_UNCL*T_LOCATION, data=L_merge)
summary(aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## CL_UNCL 1 0.68 0.6843 3.928 0.0483 *
## T_LOCATION 1 2.15 2.1532 12.361 0.0005 ***
## CL_UNCL:T_LOCATION 1 0.15 0.1473 0.845 0.3585
## Residuals 330 57.48 0.1742
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(aov)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = crust.div ~ CL_UNCL * T_LOCATION, data = L_merge)
##
## $CL_UNCL
## diff lwr upr p adj
## UNCLIMBED-CLIMBED -0.0933831 -0.1860688 -0.0006974309 0.0483107
##
## $T_LOCATION
## diff lwr upr p adj
## TR-HB -0.2053658 -0.3209103 -0.08982133 0.0005361
##
## $`CL_UNCL:T_LOCATION`
## diff lwr upr p adj
## UNCLIMBED:HB-CLIMBED:HB -0.19812743 -0.4720056 0.07575072 0.2439140
## CLIMBED:TR-CLIMBED:HB -0.25754981 -0.4646581 -0.05044151 0.0078865
## UNCLIMBED:TR-CLIMBED:HB -0.34667937 -0.5666636 -0.12669515 0.0003429
## CLIMBED:TR-UNCLIMBED:HB -0.05942238 -0.2722921 0.15344730 0.8887687
## UNCLIMBED:TR-UNCLIMBED:HB -0.14855194 -0.3739687 0.07686481 0.3244206
## UNCLIMBED:TR-CLIMBED:TR -0.08912956 -0.2258677 0.04760858 0.3342273
aov <-aov(crust.cov~CL_UNCL*T_LOCATION, data=L_merge)
summary(aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## CL_UNCL 1 458 458.2 13.291 0.00031 ***
## T_LOCATION 1 1131 1131.0 32.810 2.29e-08 ***
## CL_UNCL:T_LOCATION 1 6 6.3 0.182 0.66957
## Residuals 330 11375 34.5
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(aov)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = crust.cov ~ CL_UNCL * T_LOCATION, data = L_merge)
##
## $CL_UNCL
## diff lwr upr p adj
## UNCLIMBED-CLIMBED -2.416361 -3.720204 -1.112519 0.0003097
##
## $T_LOCATION
## diff lwr upr p adj
## TR-HB -4.706673 -6.332078 -3.081267 0
##
## $`CL_UNCL:T_LOCATION`
## diff lwr upr p adj
## UNCLIMBED:HB-CLIMBED:HB -3.387500 -7.240241 0.4652410 0.1071239
## CLIMBED:TR-CLIMBED:HB -5.085227 -7.998693 -2.1717615 0.0000539
## UNCLIMBED:TR-CLIMBED:HB -7.760417 -10.855013 -4.6658206 0.0000000
## CLIMBED:TR-UNCLIMBED:HB -1.697727 -4.692240 1.2967859 0.4605598
## UNCLIMBED:TR-UNCLIMBED:HB -4.372917 -7.543934 -1.2018994 0.0023846
## UNCLIMBED:TR-CLIMBED:TR -2.675189 -4.598733 -0.7516456 0.0021383
caov <-aov(crust.cov~CL_UNCL*T_LOCATION, data=L_merge)
summary(caov)
## Df Sum Sq Mean Sq F value Pr(>F)
## CL_UNCL 1 458 458.2 13.291 0.00031 ***
## T_LOCATION 1 1131 1131.0 32.810 2.29e-08 ***
## CL_UNCL:T_LOCATION 1 6 6.3 0.182 0.66957
## Residuals 330 11375 34.5
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(caov)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = crust.cov ~ CL_UNCL * T_LOCATION, data = L_merge)
##
## $CL_UNCL
## diff lwr upr p adj
## UNCLIMBED-CLIMBED -2.416361 -3.720204 -1.112519 0.0003097
##
## $T_LOCATION
## diff lwr upr p adj
## TR-HB -4.706673 -6.332078 -3.081267 0
##
## $`CL_UNCL:T_LOCATION`
## diff lwr upr p adj
## UNCLIMBED:HB-CLIMBED:HB -3.387500 -7.240241 0.4652410 0.1071239
## CLIMBED:TR-CLIMBED:HB -5.085227 -7.998693 -2.1717615 0.0000539
## UNCLIMBED:TR-CLIMBED:HB -7.760417 -10.855013 -4.6658206 0.0000000
## CLIMBED:TR-UNCLIMBED:HB -1.697727 -4.692240 1.2967859 0.4605598
## UNCLIMBED:TR-UNCLIMBED:HB -4.372917 -7.543934 -1.2018994 0.0023846
## UNCLIMBED:TR-CLIMBED:TR -2.675189 -4.598733 -0.7516456 0.0021383
caov <-aov(powder.cov~CL_UNCL*T_LOCATION, data=L_merge)
summary(caov)
## Df Sum Sq Mean Sq F value Pr(>F)
## CL_UNCL 1 206 205.76 10.958 0.00104 **
## T_LOCATION 1 37 36.90 1.965 0.16190
## CL_UNCL:T_LOCATION 1 0 0.33 0.018 0.89420
## Residuals 330 6197 18.78
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(caov)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = powder.cov ~ CL_UNCL * T_LOCATION, data = L_merge)
##
## $CL_UNCL
## diff lwr upr p adj
## UNCLIMBED-CLIMBED 1.619353 0.6570113 2.581694 0.0010354
##
## $T_LOCATION
## diff lwr upr p adj
## TR-HB 0.8501857 -0.3494957 2.049867 0.1642275
##
## $`CL_UNCL:T_LOCATION`
## diff lwr upr p adj
## UNCLIMBED:HB-CLIMBED:HB 1.8229167 -1.0207197 4.666553 0.3492269
## CLIMBED:TR-CLIMBED:HB 0.9346591 -1.2157158 3.085034 0.6760057
## UNCLIMBED:TR-CLIMBED:HB 2.5937500 0.3096863 4.877814 0.0187917
## CLIMBED:TR-UNCLIMBED:HB -0.8882576 -3.0984520 1.321937 0.7273824
## UNCLIMBED:TR-UNCLIMBED:HB 0.7708333 -1.5696355 3.111302 0.8301914
## UNCLIMBED:TR-CLIMBED:TR 1.6590909 0.2393590 3.078823 0.0145291
caov <-aov(fruit.cov~CL_UNCL*T_LOCATION, data=L_merge)
summary(caov)
## Df Sum Sq Mean Sq F value Pr(>F)
## CL_UNCL 1 213.9 213.87 41.823 3.6e-10 ***
## T_LOCATION 1 4.0 4.04 0.790 0.3748
## CL_UNCL:T_LOCATION 1 24.8 24.84 4.858 0.0282 *
## Residuals 330 1687.6 5.11
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(caov)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = fruit.cov ~ CL_UNCL * T_LOCATION, data = L_merge)
##
## $CL_UNCL
## diff lwr upr p adj
## UNCLIMBED-CLIMBED 1.650946 1.148752 2.15314 0
##
## $T_LOCATION
## diff lwr upr p adj
## TR-HB 0.2812672 -0.3447815 0.9073159 0.3774468
##
## $`CL_UNCL:T_LOCATION`
## diff lwr upr p adj
## UNCLIMBED:HB-CLIMBED:HB 0.5416667 -0.9422731 2.0256065 0.7819169
## CLIMBED:TR-CLIMBED:HB -0.3636364 -1.4858005 0.7585278 0.8369245
## UNCLIMBED:TR-CLIMBED:HB 1.5937500 0.4018209 2.7856791 0.0034953
## CLIMBED:TR-UNCLIMBED:HB -0.9053030 -2.0586838 0.2480777 0.1802284
## UNCLIMBED:TR-UNCLIMBED:HB 1.0520833 -0.1692806 2.2734472 0.1188096
## UNCLIMBED:TR-CLIMBED:TR 1.9573864 1.2165052 2.6982675 0.0000000
caov <-aov(lobe.cov~CL_UNCL*T_LOCATION, data=L_merge)
summary(caov)
## Df Sum Sq Mean Sq F value Pr(>F)
## CL_UNCL 1 511 510.9 22.799 2.71e-06 ***
## T_LOCATION 1 1607 1607.0 71.708 8.32e-16 ***
## CL_UNCL:T_LOCATION 1 74 73.8 3.292 0.0705 .
## Residuals 330 7395 22.4
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(caov)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = lobe.cov ~ CL_UNCL * T_LOCATION, data = L_merge)
##
## $CL_UNCL
## diff lwr upr p adj
## UNCLIMBED-CLIMBED -2.55174 -3.603039 -1.50044 2.7e-06
##
## $T_LOCATION
## diff lwr upr p adj
## TR-HB 5.610398 4.29982 6.920977 0
##
## $`CL_UNCL:T_LOCATION`
## diff lwr upr p adj
## UNCLIMBED:HB-CLIMBED:HB -0.1208333 -3.227332 2.985666 0.9996366
## CLIMBED:TR-CLIMBED:HB 6.7897727 4.440619 9.138926 0.0000000
## UNCLIMBED:TR-CLIMBED:HB 4.2291667 1.733967 6.724367 0.0000951
## CLIMBED:TR-UNCLIMBED:HB 6.9106061 4.496104 9.325109 0.0000000
## UNCLIMBED:TR-UNCLIMBED:HB 4.3500000 1.793181 6.906819 0.0000886
## UNCLIMBED:TR-CLIMBED:TR -2.5606061 -4.111576 -1.009636 0.0001542
caov <-aov(umb.cov~CL_UNCL*T_LOCATION, data=L_merge)
summary(caov)
## Df Sum Sq Mean Sq F value Pr(>F)
## CL_UNCL 1 719 718.7 45.735 6.17e-11 ***
## T_LOCATION 1 230 229.6 14.610 0.000158 ***
## CL_UNCL:T_LOCATION 1 44 44.1 2.804 0.094998 .
## Residuals 330 5186 15.7
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(caov)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = umb.cov ~ CL_UNCL * T_LOCATION, data = L_merge)
##
## $CL_UNCL
## diff lwr upr p adj
## UNCLIMBED-CLIMBED 3.02648 2.146125 3.906836 0
##
## $T_LOCATION
## diff lwr upr p adj
## TR-HB 2.12064 1.023165 3.218115 0.0001715
##
## $`CL_UNCL:T_LOCATION`
## diff lwr upr p adj
## UNCLIMBED:HB-CLIMBED:HB 1.6979167 -0.9034578 4.299291 0.3330269
## CLIMBED:TR-CLIMBED:HB 1.2812500 -0.6859250 3.248425 0.3349322
## UNCLIMBED:TR-CLIMBED:HB 4.8645833 2.7751091 6.954058 0.0000000
## CLIMBED:TR-UNCLIMBED:HB -0.4166667 -2.4385649 1.605232 0.9512077
## UNCLIMBED:TR-UNCLIMBED:HB 3.1666667 1.0255927 5.307741 0.0009169
## UNCLIMBED:TR-CLIMBED:TR 3.5833333 2.2845547 4.882112 0.0000000