library(ggplot2)
library(plyr)
library(grid)
library(gridExtra)
library(cowplot)
#library(rgl)
library(scatterplot3d)
library(ggbiplot)
# The palette with grey:
cbPalette <- c("#999999", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")
sem<-function(x) sd(x)/sqrt(length(x))
demo_data<-read.csv(file="UndulationEffort.csv", header = TRUE)
avg_demo<-ddply(demo_data,c("Species", "Speed..m.s."), summarise, N=length(UndEff..mm.s.),
UndEff_av=mean(UndEff..mm.s.), UndEff_se=sem(UndEff..mm.s.),CaudEff_av=mean(CaudalEff..mm.s.),
CaudEff_se=sem(CaudalEff..mm.s.), PecEff_av=mean(PecEff), PecEff_se=sem(PecEff), AnalEff_av=mean(AnalEff),
AnalEff_se=sem(AnalEff), DorsalEff_av=mean(DorsalEff), DorsalEff_se=sem(DorsalEff))
head(avg_demo)
# Body Undulation Effort
p1<-ggplot(avg_demo, aes(x=Speed..m.s.,y=UndEff_av,color=Species))+
geom_errorbar(aes(ymin=UndEff_av-UndEff_se, ymax=UndEff_av+UndEff_se),width=0.01)+
geom_line()+
geom_point()+
scale_color_manual(values=cbPalette)+
labs(x="Speed (m/s)",y="Body Effort (mm/s)")+
theme_bw()+theme(legend.position="none")
# Caudal Effort
p2<-ggplot(avg_demo, aes(x=Speed..m.s.,y=CaudEff_av,color=Species))+
geom_errorbar(aes(ymin=CaudEff_av-CaudEff_se, ymax=CaudEff_av+CaudEff_se),width=0.01)+
geom_line()+
geom_point()+
scale_color_manual(values=cbPalette)+
labs(x="Speed (m/s)",y="Caudal Effort (mm/s)")+
theme_bw()+theme(legend.position="none")
# Pectoral Effort
p3<-ggplot(avg_demo, aes(x=Speed..m.s.,y=PecEff_av,color=Species))+
geom_errorbar(aes(ymin=PecEff_av-PecEff_se, ymax=PecEff_av+PecEff_se),width=0.01)+
geom_line()+
geom_point()+
scale_color_manual(values=cbPalette)+
labs(x="Speed (m/s)",y="Pectoral Effort (mm/s)")+
theme_bw()+theme(legend.position="none")
# Dorsal Effort
p4<-ggplot(avg_demo, aes(x=Speed..m.s.,y=DorsalEff_av,color=Species))+
geom_errorbar(aes(ymin=DorsalEff_av-DorsalEff_se, ymax=DorsalEff_av+DorsalEff_se),width=0.01)+
geom_line()+
geom_point()+
scale_color_manual(values=cbPalette)+
labs(x="Speed (m/s)",y="Dorsal Effort (mm/s)")+
theme_bw()+theme(legend.position="none")
# Anal Effort
p5<-ggplot(avg_demo, aes(x=Speed..m.s.,y=AnalEff_av,color=Species))+
geom_errorbar(aes(ymin=AnalEff_av-AnalEff_se, ymax=AnalEff_av+AnalEff_se),width=0.01)+
geom_line()+
geom_point()+
scale_color_manual(values=cbPalette)+
labs(x="Speed (m/s)",y="Anal Effort (mm/s)")+
theme_bw()
p6<-get_legend(p5)
p5<-p5+theme(legend.position="none")
grid.arrange(p1,p2,p3,p4,p5,p6, ncol=3, nrow=2)
#with(avg_demo,plot3d(UndEff_av,CaudEff_av,PecEff_av, type="s",col=as.numeric(Species)))
# Making subsets for things
cichlalike <- subset(avg_demo, Species=="Cichla-like")
crenicichlalike <- subset(avg_demo, Species=="Crenicichla-like")
symphysodonlike <- subset(avg_demo, Species=="Symphysodon-like")
balistidlike <- subset(avg_demo, Species=="Balistid-like")
eellike <- subset(avg_demo, Species=="Eel-like")
s3d<-scatterplot3d(x=avg_demo$UndEff_av, y=avg_demo$CaudEff_av, z=avg_demo$PecEff_av,
color=cbPalette[as.numeric(avg_demo$Species)],
pch=16, cex.symbols=(avg_demo$Speed..m.s.*10), type='p', xlab='Body Effort(mm/s)',
ylab='Caudal Effort (mm/s)', zlab='Pectoral Effort (mm/s)')
s3d$points3d(x=balistidlike$UndEff_av, y=balistidlike$CaudEff_av, z=balistidlike$PecEff_av,type="l",col=cbPalette[1])
s3d$points3d(x=cichlalike$UndEff_av, y=cichlalike$CaudEff_av, z=cichlalike$PecEff_av,type="l",col=cbPalette[2])
s3d$points3d(x=crenicichlalike$UndEff_av, y=crenicichlalike$CaudEff_av, z=crenicichlalike$PecEff_av,type="l",col=cbPalette[3])
s3d$points3d(x=eellike$UndEff_av, y=eellike$CaudEff_av, z=eellike$PecEff_av,type="l",col=cbPalette[4])
s3d$points3d(x=symphysodonlike$UndEff_av, y=symphysodonlike$CaudEff_av, z=symphysodonlike$PecEff_av,type="l",col=cbPalette[5])
s3d<-scatterplot3d(x=avg_demo$UndEff_av, y=avg_demo$DorsalEff_av, z=avg_demo$AnalEff_av,
color=cbPalette[as.numeric(avg_demo$Species)],
pch=16, cex.symbols=(avg_demo$Speed..m.s.*10), type='p', xlab='Body Effort(mm/s)',
ylab='Dorsal Effort (mm/s)', zlab='Anal Effort (mm/s)')
s3d$points3d(x=balistidlike$UndEff_av, y=balistidlike$DorsalEff_av, z=balistidlike$AnalEff_av,type="l",col=cbPalette[1])
s3d$points3d(x=cichlalike$UndEff_av, y=cichlalike$DorsalEff_av, z=cichlalike$AnalEff_av,type="l",col=cbPalette[2])
s3d$points3d(x=crenicichlalike$UndEff_av, y=crenicichlalike$DorsalEff_av, z=crenicichlalike$AnalEff_av,type="l",col=cbPalette[3])
s3d$points3d(x=eellike$UndEff_av, y=eellike$DorsalEff_av, z=eellike$AnalEff_av,type="l",col=cbPalette[4])
s3d$points3d(x=symphysodonlike$UndEff_av, y=symphysodonlike$DorsalEff_av, z=symphysodonlike$AnalEff_av,type="l",col=cbPalette[5])
# Isolate gait parameters
gait_params<-c("Species", "Speed..m.s.", "UndEff_av", "CaudEff_av", "PecEff_av","DorsalEff_av", "AnalEff_av")
gait_data<-avg_demo[gait_params]
gait_PCA<-prcomp(gait_data[,3:7], scale=TRUE, center=TRUE)
print(gait_PCA)
summary(gait_PCA)
g <- ggbiplot(gait_PCA, obs.scale = 1, var.scale = 1,
groups = factor(gait_data$Species), ellipse = TRUE,
circle = TRUE)
g <- g + scale_color_manual(values=cbPalette)
g <- g + theme(legend.direction = 'vertical',
legend.position = 'right')
print(g)