Calculate and graph percent reproductive dry weight= ((reproductive dry weight)/(total dry weight))*100
Load packages
Setting up
#read in data
all<-read.csv(
"https://raw.githubusercontent.com/Cmwegener/thesis/master/data/field/CB_field_data_plus.csv",
header = TRUE
)
#converting to date format
all$date<-as.Date(all$date, format = c("%m/%d/%Y"))
#calculating percent vegetative dry weight
all$perc.vdw<-(100-all$perc.rdw)
Subset data by site
HS<-subset(all, site.old == "HS")
BY<-subset(all, site.old == "BY")
ND<-subset(all, site.old == "ND")
PC<-subset(all, site.old == "PC")
Graph- basic
a <-
ggplot(data = HS,
mapping = aes(x = date, y = perc.rdw, group = date)) + geom_boxplot(alpha=0.3) + ggtitle("Horseshoe Bay")+ylim(0,100)+
scale_x_date(date_breaks = "2 month", date_labels = "%b %Y") + theme(plot.title = element_text(size = 20, face = "plain")) +
geom_jitter(position=position_jitter(0.5),
size=1,
alpha = 0.3)+
theme(
axis.text.x = element_text(angle = 60, hjust = 1),
axis.text = element_text(size = 20),
axis.title = element_text(size = 20, face = "plain")
) + ylab(" ") + xlab(" ") + theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_line(colour = "black")
)
b <-
ggplot(data = BY,
mapping = aes(x = date, y = perc.rdw, group = date)) + geom_boxplot(alpha=0.3) + ggtitle("Brickyard Park") +ylim(0,100)+
scale_x_date(date_breaks = "2 month", date_labels = "%b %Y") + theme(plot.title = element_text(size = 20, face = "plain")) +
geom_jitter(position=position_jitter(0.5),
size=1,
alpha = 0.3)+
theme(
axis.text.x = element_text(angle = 60, hjust = 1),
axis.text = element_text(size = 20),
axis.title = element_text(size = 20, face = "plain")
) + ylab(" ") + xlab(" ") + theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_line(colour = "black")
)
c <-
ggplot(data = ND,
mapping = aes(x = date, y = perc.rdw, group = date)) + geom_boxplot(alpha=0.3) + ggtitle("Point Chauncy") +ylim(0,100)+
scale_x_date(date_breaks = "2 month", date_labels = "%b %Y") + theme(plot.title = element_text(size = 20, face = "plain")) +
geom_jitter(position=position_jitter(0.5),
size=1,
alpha = 0.3)+
theme(
axis.text.x = element_text(angle = 60, hjust = 1),
axis.text = element_text(size = 20),
axis.title = element_text(size = 20, face = "plain")
) + ylab(" ") + xlab(" ") + theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_line(colour = "black")
)
d <-
ggplot(data = PC,
mapping = aes(x = date, y = perc.rdw, group = date)) + geom_boxplot(alpha=0.3) + ggtitle("Paradise Cay") +ylim(0,100)+
scale_x_date(date_breaks = "2 month", date_labels = "%b %Y") + theme(plot.title = element_text(size = 20, face = "plain")) +
geom_jitter(position=position_jitter(0.5),
size=1,
alpha = 0.3)+
theme(
axis.text.x = element_text(angle = 60, hjust = 1),
axis.text = element_text(size = 20),
axis.title = element_text(size = 20, face = "plain")
) + ylab(" ") + xlab(" ") + theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_line(colour = "black")
)
Ffigure <- ggarrange(d, c, b, a, ncol = 4, nrow = 1)
## Warning: Removed 31 rows containing non-finite values (stat_boxplot).
## Warning: Removed 49 rows containing missing values (geom_point).
## Warning: Removed 21 rows containing non-finite values (stat_boxplot).
## Warning: Removed 28 rows containing missing values (geom_point).
## Warning: Removed 11 rows containing non-finite values (stat_boxplot).
## Warning: Removed 42 rows containing missing values (geom_point).
## Warning: Removed 13 rows containing non-finite values (stat_boxplot).
## Warning: Removed 31 rows containing missing values (geom_point).
annotate_figure(
Ffigure,
left = text_grob(
"Percent reproductive dry weight",
color = "black",
rot = 90,
size = 25,
face="bold"
)
)
Add line at 12.7%
a <-
ggplot(data = HS,
mapping = aes(x = date, y = perc.rdw, group = date)) + geom_boxplot(alpha=0.3) + ggtitle("Horseshoe Bay")+ylim(0,100)+
scale_x_date(date_breaks = "2 month", date_labels = "%b %Y") + theme(plot.title = element_text(size = 20, face = "plain")) +
geom_jitter(position=position_jitter(0.5),
size=1,
alpha = 0.3)+
theme(
axis.text.x = element_text(angle = 60, hjust = 1),
axis.text = element_text(size = 20),
axis.title = element_text(size = 20, face = "plain")
) + ylab(" ") + xlab(" ") + theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_line(colour = "black")
)+
geom_hline(yintercept=12.7, size=2, color="red")
b <-
ggplot(data = BY,
mapping = aes(x = date, y = perc.rdw, group = date)) + geom_boxplot(alpha=0.3) + ggtitle("Brickyard Park") +ylim(0,100)+
scale_x_date(date_breaks = "2 month", date_labels = "%b %Y") + theme(plot.title = element_text(size = 20, face = "plain")) +
geom_jitter(position=position_jitter(0.5),
size=1,
alpha = 0.3)+
theme(
axis.text.x = element_text(angle = 60, hjust = 1),
axis.text = element_text(size = 20),
axis.title = element_text(size = 20, face = "plain")
) + ylab(" ") + xlab(" ") + theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_line(colour = "black")
)+
geom_hline(yintercept=12.7, size=2, color="red")
c <-
ggplot(data = ND,
mapping = aes(x = date, y = perc.rdw, group = date)) + geom_boxplot(alpha=0.3) + ggtitle("Point Chauncy") +ylim(0,100)+
scale_x_date(date_breaks = "2 month", date_labels = "%b %Y") + theme(plot.title = element_text(size = 20, face = "plain")) +
geom_jitter(position=position_jitter(0.5),
size=1,
alpha = 0.3)+
theme(
axis.text.x = element_text(angle = 60, hjust = 1),
axis.text = element_text(size = 20),
axis.title = element_text(size = 20, face = "plain")
) + ylab(" ") + xlab(" ") + theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_line(colour = "black")
)+
geom_hline(yintercept=12.7, size=2, color="red")
d <-
ggplot(data = PC,
mapping = aes(x = date, y = perc.rdw, group = date)) + geom_boxplot(alpha=0.3) + ggtitle("Paradise Cay") +ylim(0,100)+
scale_x_date(date_breaks = "2 month", date_labels = "%b %Y") + theme(plot.title = element_text(size = 20, face = "plain")) +
geom_jitter(position=position_jitter(0.5),
size=1,
alpha = 0.3)+
theme(
axis.text.x = element_text(angle = 60, hjust = 1),
axis.text = element_text(size = 20),
axis.title = element_text(size = 20, face = "plain")
) + ylab(" ") + xlab(" ") + theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_line(colour = "black")
)+
geom_hline(yintercept=12.7, size=2, color="red")
Ffigure <- ggarrange(d, c, b, a, ncol = 4, nrow = 1)
## Warning: Removed 31 rows containing non-finite values (stat_boxplot).
## Warning: Removed 50 rows containing missing values (geom_point).
## Warning: Removed 21 rows containing non-finite values (stat_boxplot).
## Warning: Removed 32 rows containing missing values (geom_point).
## Warning: Removed 11 rows containing non-finite values (stat_boxplot).
## Warning: Removed 37 rows containing missing values (geom_point).
## Warning: Removed 13 rows containing non-finite values (stat_boxplot).
## Warning: Removed 34 rows containing missing values (geom_point).
annotate_figure(
Ffigure,
left = text_grob(
"Percent reproductive dry weight",
color = "black",
rot = 90,
size = 25,
face="bold"
)
)
Calculte average percent dwr for each site across all surveys
mean(as.numeric(PC$perc.rdw), na.rm = TRUE)
## [1] 14.03607
mean(as.numeric(ND$perc.rdw), na.rm = TRUE)
## [1] 29.37593
mean(as.numeric(BY$perc.rdw), na.rm = TRUE)
## [1] 10.44429
mean(as.numeric(HS$perc.rdw), na.rm = TRUE)
## [1] 24.61342
####Stacked graph#### Df in the wrong format to do stacked percent table. Going to convert. Converting: https://stackoverflow.com/questions/29719701/stacked-bar-plot-with-percentages-in-separate-columns Graph: https://www.r-graph-gallery.com/48-grouped-barplot-with-ggplot2.html
#selected needed columns
HS.dw<-data.frame(HS$date, HS$perc.rdw, HS$perc.vdw)
BY.dw<-data.frame(BY$date, BY$perc.rdw, BY$perc.vdw)
ND.dw<-data.frame(ND$date, ND$perc.rdw, ND$perc.vdw)
PC.dw<-data.frame(PC$date, PC$perc.rdw, PC$perc.vdw)
#reshape df
library(reshape2)
HS.long<- melt(HS.dw, id = "HS.date")
BY.long<- melt(BY.dw, id = "BY.date")
ND.long<- melt(ND.dw, id = "ND.date")
PC.long<- melt(PC.dw, id = "PC.date")
#remame columns
names(HS.long)[1] <- "date"
names(HS.long)[2] <- "tissue.type"
names(HS.long)[3] <- "percent.dw"
names(BY.long)[1] <- "date"
names(BY.long)[2] <- "tissue.type"
names(BY.long)[3] <- "percent.dw"
names(ND.long)[1] <- "date"
names(ND.long)[2] <- "tissue.type"
names(ND.long)[3] <- "percent.dw"
names(PC.long)[1] <- "date"
names(PC.long)[2] <- "tissue.type"
names(PC.long)[3] <- "percent.dw"
#test graph- basic
ggplot(HS.long, aes(x = date, y = percent.dw, fill = tissue.type)) +
geom_bar(position="fill", stat = "identity")
## Warning: Removed 26 rows containing missing values (position_stack).
http://www.cookbook-r.com/Graphs/Legends_(ggplot2)/ colors: http://www.sthda.com/english/wiki/ggplot2-colors-how-to-change-colors-automatically-and-manually
Graph
HS.graph <-
ggplot(data = HS.long,
mapping = aes(x = date, y = percent.dw, fill = tissue.type)) +
geom_bar(position = "fill", stat = "identity") +
scale_fill_manual(values=wes_palette(n=2, name="Moonrise1"))+
scale_y_continuous(labels = scales::percent)+
ggtitle("Horseshoe Bay") +
scale_x_date(date_breaks = "2 month",
date_labels = "%b %Y") +
theme(plot.title = element_text(size = 20, face = "plain")) +
theme(
axis.text.x = element_text(angle = 60, hjust = 1),
axis.text = element_text(size = 20),
axis.title = element_text(size = 20, face = "plain")
) + ylab(" ") + xlab(" ") + theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_line(colour = "black")
)
BY.graph <-
ggplot(data = BY.long,
mapping = aes(x = date,
y = percent.dw,
fill=tissue.type)) +
geom_bar(position="fill",
stat="identity") +
scale_fill_manual(values=wes_palette(n=2, name="Moonrise1"))+
scale_y_continuous(labels = scales::percent)+
ggtitle("Brickyard Park") +
scale_x_date(date_breaks = "2 month",
date_labels = "%b %Y") +
theme(plot.title = element_text(size = 20, face = "plain"))+
theme(
axis.text.x = element_text(angle = 60, hjust = 1),
axis.text = element_text(size = 20),
axis.title = element_text(size = 20, face = "plain")
) + ylab(" ") + xlab(" ") + theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_line(colour = "black")
)
ND.graph <-
ggplot(data = ND.long,
mapping = aes(x = date,
y = percent.dw,
fill=tissue.type)) +
geom_bar(position="fill",
stat="identity") +
scale_fill_manual(values=wes_palette(n=2, name="Moonrise1"))+
scale_y_continuous(labels = scales::percent)+
ggtitle("Point Chauncy") +
scale_x_date(date_breaks = "2 month",
date_labels = "%b %Y") +
theme(plot.title = element_text(size = 20, face = "plain"))+
theme(
axis.text.x = element_text(angle = 60, hjust = 1),
axis.text = element_text(size = 20),
axis.title = element_text(size = 20, face = "plain")
) + ylab(" ") + xlab(" ") + theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_line(colour = "black")
)
PC.graph <-
ggplot(data = PC.long,
mapping = aes(x = date,
y = percent.dw,
fill=tissue.type)) +
geom_bar(position="fill",
stat="identity") +
scale_fill_manual(values=wes_palette(n=2, name="Moonrise1"),
name="Thalli Size",
breaks=c("PC.perc.rdw", "PC.perc.vdw"),
labels=c("Reproductive Dry Weight", "Vegetative Dry Weight"))+
scale_y_continuous(labels = scales::percent)+
ggtitle("Paradise Cay") +
scale_x_date(date_breaks = "2 month",
date_labels = "%b %Y") +
theme(plot.title = element_text(size = 20, face = "plain"))+
theme(
legend.title = element_text(size = 15, face = "bold"),
legend.position="bottom",
axis.text.x = element_text(angle = 60, hjust = 1),
axis.text = element_text(size = 20),
axis.title = element_text(size = 20, face = "plain")
) + ylab(" ") + xlab(" ") + theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_line(colour = "black")
)
dw<-ggarrange(PC.graph, ND.graph, BY.graph, HS.graph, ncol = 4, nrow = 1, common.legend = TRUE)
## Warning: Removed 62 rows containing missing values (position_stack).
## Warning: Removed 62 rows containing missing values (position_stack).
## Warning: Removed 42 rows containing missing values (position_stack).
## Warning: Removed 22 rows containing missing values (position_stack).
## Warning: Removed 26 rows containing missing values (position_stack).
dw.fig <- annotate_figure(
dw,
left = text_grob(
"Percent Dry Weight",
color = "black",
rot = 90,
face="bold",
size = 25
)
)
dw.fig
I’m not sure if this is showing the data correctly. I may need to take the mean and then do this. No months and no sites ever had 100% vegetative tissue allocation