wrangling the data
#long form
data_long <- gather(data, Date, attack, D1:D5, factor_key=TRUE)
data_long$Species<-as.factor(data_long$Species)
#fixing sp names
data_long<-data_long%>%
mutate(Species=dplyr::recode(Species,"A. cal"="Acal"))
data_long<-data_long%>%
mutate(Species=dplyr::recode(Species,"E. fas"="Efas"))
#getting the number of dayes the caterpillars were deployed for
Days<-c(3,3,3,2,2)
Date<-c("D1","D2","D3","D4","D5")
Date1 <- data.frame(Days,Date)
data2<-left_join(data_long,Date1)
## Joining, by = "Date"
#Getting the porportion attack per date
data3<-data2 %>%
group_by(Species,Prey,Date) %>%
na.omit(data2) %>%
dplyr::summarise(Totalattack2=sum(attack)) %>%
mutate(Propattack=(Totalattack2/15))
## `summarise()` has grouped output by 'Species', 'Prey'. You can override using
## the `.groups` argument.
data_final<-left_join(data2,data3)%>%
group_by(Species, Prey) %>%
filter(!duplicated(Date))
## Joining, by = c("Species", "Prey", "Date")
models
hist(data_final$Propattack)
hist(sqrt(data_final$Propattack))
model<-lmer(sqrt(Propattack)~Prey*Species + (1|Days), data=data_final)
anova(model)
## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## Prey 1.39808 1.39808 1 15 50.8332 3.451e-06 ***
## Species 0.00873 0.00873 1 15 0.3176 0.5814
## Prey:Species 0.01155 0.01155 1 15 0.4199 0.5268
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
visualization
species.summary<-data_final %>%
group_by(Species, Prey) %>%
dplyr::summarize(n=n(),
mean=mean(Propattack),
sd=sd(Propattack),
se=sd(Propattack)/sqrt(n()))
## `summarise()` has grouped output by 'Species'. You can override using the
## `.groups` argument.
ggplot(species.summary, aes(x = Species, fill = Prey, y = mean)) +
labs(title="Avian Predation Rate by Prey Type", x = "Plant Species", y = "Attack Proportion")+
geom_col(position = position_dodge()) +
geom_errorbar(aes(ymin=mean-se, ymax=mean+se), width=.3, position = position_dodge(width=0.9)) +
scale_y_continuous(expand=expansion(c(0,0.05))) +
scale_fill_manual("Prey", values=c("dark green","tan"))