3 DIfference in diet between H. curtus and H. schsitosus
3.1 No. of samples collected by sea snake species
source("./Functions/setup.R")
# importing gut content data
gc = read.csv("./Data/Sea_snakes_gut_content_2018-19.csv") %>%
filter(Source == "Gut content") # removing specimens collected from fisheries landingssnakes%>%
filter(Species == "Hydrophis curtus" | Species == "Hydrophis schistosus")%>%
group_by(Species)%>%
summarise(N = n(), # total number of individuals sampled
n = sum((Gut.Content) == "Yes"), # number of individuals with gut content
n_male = sum((Gut.Content) == "Yes" & Sex == "Male"), # males with gut content
n_female = sum((Gut.Content) == "Yes" & Sex == "Female"), # females with content
prop.gc = n/N) # propotion of individuals with gut content| Species | N | n | n_male | n_female | prop.gc |
|---|---|---|---|---|---|
| Hydrophis curtus | 179 | 36 | 18 | 18 | 0.2011173 |
| Hydrophis schistosus | 605 | 93 | 55 | 36 | 0.1537190 |
A very low proportion of individuals had gut content present at the time of sampling. Sampling across species and sexes may be adequate for comparison.
3.2 Total number of prey specimens collected
gc %>%
group_by(Snake.Species) %>%
summarise(N = length(unique(GC.Code)))| Snake.Species | N |
|---|---|
| Hydrophis curtus | 35 |
| Hydrophis schistosus | 89 |
3.3 Proportion of unidentified specimens
# calculating richness
gc%>%
summarise(N_sp = length(unique(Prey.Species)), # number of prey species
N_fam = length(unique(Prey.Family)), # number of prey families
# proportion of unidentitified specimens
unid_sp = sum(Prey.Species == "Unidentified" | Prey.Species == "", na.rm = T)*100/n(), ## species
unid_fam = sum(Prey.Family == "Unidentified" | Prey.Family == "", na.rm = T)*100/n())%>% ## family
# creating clean table
gather()%>%
mutate(Metric = ifelse(substr(key, 1, 1) == "N", "Richness", "% Unidentified"),
Unit = ifelse(grepl(key, pattern = "sp", fixed = T), "Prey Species", "Prey Family"))%>%
dplyr::select(Unit, Metric, value)%>%
spread(Metric, value)| Unit | % Unidentified | Richness |
|---|---|---|
| Prey Family | 29.45736 | 17 |
| Prey Species | 40.31008 | 26 |
A large portion of gut content specimens were unidentifiable. This is an unavoidable consquence of VGCA.
3.4 No. of snakes with mode than one prey specimen
gc %>%
filter(Field.Code != "") %>%
count(Field.Code, name = "Prey") %>%
count(Prey > 1)| Prey > 1 | n |
|---|---|
| FALSE | 96 |
| TRUE | 8 |
3.5 Prey preference
We modified and used the the Index of relative importance according to Pinkas et al. 1971 to determine the difference in prey preference between H. curtus and H. schistosus
# calulating index of relative importance (Pinkas et al. 1971)
IRI <- gc%>%
filter(Prey.Family != "")%>%
filter(Snake.Species == "Hydrophis schistosus" | Snake.Species == "Hydrophis curtus")%>%
group_by(Snake.Species)%>%
mutate(Fr = length(unique(Field.Code)), # total number of snakes sampled
W = sum(Weight..g., na.rm = T), # total weight of prey sampled
N = n())%>% # total number of prey sampled
group_by(Snake.Species, Prey.Family)%>%
summarise(f = length(unique(Field.Code)), # number snakes in which prey family occured
Fr = last(Fr),
w = sum(Weight..g., na.rm = T), # weight of prey family
W = last(W),
n = n(), # number of individuals of prey family
N = last(N))%>%
group_by(Snake.Species, Prey.Family)%>%
# caluclating percentages
summarise(per.F = f*100/Fr,
per.W = w*100/W,
per.N = n*100/N,
# caluclating IRI
IRI = (per.N + per.W)*per.F)%>%
ungroup()%>%
complete(Prey.Family, nesting(Snake.Species), fill = list(0))%>%
replace_na(replace = list(IRI = 0, per.F = 0, per.W = 0, per.N = 0))%>%
arrange(Snake.Species, desc(IRI))%>%
mutate(rank = 1:n())
# clean table
IRI%>%
filter(IRI > 0)| Prey.Family | Snake.Species | per.F | per.W | per.N | IRI | rank |
|---|---|---|---|---|---|---|
| Unidentified | Hydrophis curtus | 44.827586 | 15.2823920 | 40.625000 | 2506.193436 | 1 |
| Clupeidae | Hydrophis curtus | 6.896552 | 29.9003322 | 9.375000 | 270.864360 | 2 |
| Engraulidae | Hydrophis curtus | 10.344828 | 11.9601329 | 9.375000 | 220.708271 | 3 |
| Carangidae | Hydrophis curtus | 13.793103 | 3.3222591 | 12.500000 | 218.238057 | 4 |
| Scombridae | Hydrophis curtus | 6.896552 | 6.6445183 | 6.250000 | 88.927712 | 5 |
| Cynoglossidae | Hydrophis curtus | 6.896552 | 3.9867110 | 6.250000 | 70.598007 | 6 |
| Serranidae | Hydrophis curtus | 3.448276 | 16.6112957 | 3.125000 | 68.056192 | 7 |
| Leiognathidae | Hydrophis curtus | 6.896552 | 2.9900332 | 6.250000 | 63.724367 | 8 |
| Tetraodontidae | Hydrophis curtus | 3.448276 | 7.6411960 | 3.125000 | 37.124814 | 9 |
| Nemipteridae | Hydrophis curtus | 3.448276 | 1.6611296 | 3.125000 | 16.503895 | 10 |
| Tetraodontidae | Hydrophis schistosus | 34.246575 | 38.7307267 | 35.869565 | 2554.804519 | 17 |
| Unidentified | Hydrophis schistosus | 23.287671 | 12.9453244 | 21.739130 | 807.720182 | 18 |
| Ariidae | Hydrophis schistosus | 9.589041 | 8.8407094 | 8.695652 | 168.156891 | 19 |
| Clupeidae | Hydrophis schistosus | 6.849315 | 10.9456402 | 6.521739 | 119.639584 | 20 |
| Plotosidae | Hydrophis schistosus | 8.219178 | 7.7882440 | 6.521739 | 117.616299 | 21 |
| Teraponidae | Hydrophis schistosus | 6.849315 | 6.5673841 | 5.434783 | 82.206621 | 22 |
| Serranidae | Hydrophis schistosus | 5.479452 | 7.6303742 | 5.434783 | 71.589900 | 23 |
| Leiognathidae | Hydrophis schistosus | 4.109589 | 1.0524654 | 3.260870 | 17.726034 | 24 |
| Synodontidae | Hydrophis schistosus | 2.739726 | 1.1840236 | 2.173913 | 9.199826 | 25 |
| Sillaginidae | Hydrophis schistosus | 1.369863 | 2.4206704 | 1.086957 | 4.804968 | 26 |
| Scombridae | Hydrophis schistosus | 1.369863 | 1.2103352 | 1.086957 | 3.146975 | 27 |
| Pleuronectidae | Hydrophis schistosus | 1.369863 | 0.3683629 | 1.086957 | 1.993588 | 28 |
| Carangidae | Hydrophis schistosus | 1.369863 | 0.3157396 | 1.086957 | 1.921502 | 29 |
# plotting prey preference
IRI %>%
ggplot(aes(reorder(Prey.Family, IRI), IRI, fill = Snake.Species)) + geom_col(col = "black", position = position_dodge(preserve = "single")) + scale_y_sqrt(name = "IRI (sq.rt.)") +
labs(x = "Prey Family") + scale_fill_brewer(palette = "Greys", name = "Snake Species") + theme(axis.text.x = element_text(hjust = 1, angle = 60), legend.text = element_text(face = "italic"))
# saving high res plot
ggsave(last_plot(), filename = "./Figures and Tables/figure2.tiff", width = 8, height = 6, dpi = 300)Figure 2: Index of relative importance (IRI, square root transformed) (Pinkas et al., 1970) of prey families in sea snake diet.
H. schistosus showed preference for the Tetraodontid fish, while H. curtus did not exhibit any prey preference.
3.6 Range of prey found in H. curtus and H. shistosus gut
We compared the dietary breadth between snakes species using the richness and diversity of prey families.
# Creating data matrix for prey community analysis analysis
fam_spade = gc%>%
filter(Prey.Family != "Unidentified", Prey.Family !="", Field.Code != "")%>% # removing unidentified specimens
group_by(Snake.Species, Prey.Family)%>%
summarise(n = n())%>% # total number of specimens per family in each snake species
spread(Snake.Species, n, fill = 0)%>%
column_to_rownames("Prey.Family")3.6.1 Prey richness
gc%>%
filter(Snake.Species == "Hydrophis schistosus" | Snake.Species == "Hydrophis curtus",
Prey.Family != "Unidentified", Prey.Family != "")%>%
group_by(Snake.Species)%>%
summarise(Prey.Species = length(unique(Prey.Species)) - 1, # removing unidentified
Prey.Families = length(unique(Prey.Family)))| Snake.Species | Prey.Species | Prey.Families |
|---|---|---|
| Hydrophis curtus | 11 | 9 |
| Hydrophis schistosus | 19 | 12 |
3.6.2 Prey family diversity
# loading libraries
library(SpadeR) ## for community indices
# calculating shanon diversity
HC_div = as.data.frame(Diversity(fam_spade[, 1])$Shannon_diversity) %>%
rownames_to_column("Estimator") %>%
mutate(Species = "Hydrophis curtus")
HS_div = as.data.frame(Diversity(fam_spade[, 2])$Shannon_diversity) %>%
rownames_to_column("Estimator") %>%
mutate(Species = "Hydrophis schistosus")
HC_div %>%
full_join(HS_div) %>%
dplyr::select(Species, everything()) %>%
arrange(Estimator)| Species | Estimator | Estimate | s.e. | 95%Lower | 95%Upper |
|---|---|---|---|---|---|
| Hydrophis curtus | Chao & Shen | 11.671 | 3.155 | 5.487 | 17.855 |
| Hydrophis schistosus | Chao & Shen | 7.427 | 1.158 | 5.158 | 9.696 |
| Hydrophis curtus | Chao et al. (2013) | 12.029 | 3.207 | 5.744 | 18.314 |
| Hydrophis schistosus | Chao et al. (2013) | 7.509 | 1.179 | 5.198 | 9.820 |
| Hydrophis curtus | Jackknife | 11.776 | 2.583 | 6.713 | 16.839 |
| Hydrophis schistosus | Jackknife | 7.301 | 1.126 | 5.093 | 9.508 |
| Hydrophis curtus | MLE | 8.073 | 1.181 | 5.758 | 10.388 |
| Hydrophis schistosus | MLE | 6.428 | 0.911 | 4.642 | 8.214 |
While H. schistosus fed on greater number of prey families, H. curtus showed greater evenness in prey preference.
Statistical comparison is difficult as each individual snake fed on only one type of specimen at time.
3.7 Diet overlap between H. curtus and H. shistosus
Number of overlapping prey families:
gc %>%
filter(Snake.Species == "Hydrophis schistosus" | Snake.Species == "Hydrophis curtus", Prey.Family != "Unidentified", Prey.Family != "") %>%
group_by(Prey.Family) %>%
summarise(N_pred = length(unique(Snake.Species))) %>%
ungroup() %>%
summarise(Overlap = sum(N_pred > 1)) %>%
as.numeric()## [1] 6
Shoener’s (1971) resource overlap index (D):
gc%>%
filter(Prey.Species != "Unidentified")%>%
group_by(Snake.Species, Prey.Family)%>%
summarise(n = n())%>% # number of speciemens per prey family in each snake species
group_by(Snake.Species)%>%
mutate(N = sum(n))%>% # total number of specimens collected from each snake species
group_by(Snake.Species, Prey.Family)%>%
summarise(p = n/N)%>% # relative proportion of each prey family
spread(Snake.Species, p, fill = 0)%>%
rename("HC" = 'Hydrophis curtus', "HS" = 'Hydrophis schistosus')%>%
mutate(P = abs(HC - HS))%>% # difference in relactive proportion prey items
summarise(D = 1 - 0.5*sum(P))%>% # Schoener's resource overlap index
as.numeric()## [1] 0.2380952
Morista - Horn overlap:
prey_sim <- SimilarityPair(X = fam_spade, datatype = "abundance")
prey_sim$Empirical_relative## Estimate s.e. 95%.LCL 95%.UCL
## C12=U12(q=1,Horn) 0.4419859 0.1103973 0.2256071 0.6583647
## C22(q=2,Morisita) 0.2777801 0.1131096 0.0560853 0.4994749
## U22(q=2,Regional overlap) 0.4347854 0.1461632 0.1483056 0.7212653
## ChaoJaccard 0.4946000 0.1537000 0.1933480 0.7958520
## ChaoSorensen 0.6619000 0.1736000 0.3216440 1.0021560
There was limited overlap in prey between H. schistosus and H. curtus
3.7.1 Testing segregation in prey between H. curtus and H. schistosus
# loading libraries
library(vegan)
# formating data for vegan
fam_simboo <- gc %>%
filter(Prey.Family != "Unidentified", Prey.Family != "", Field.Code != "") %>%
group_by(Snake.Species, Field.Code, Prey.Family) %>%
summarise(n = n()) %>%
spread(Prey.Family, n, fill = 0) %>%
ungroup()
# PERMANOVA to compare composition
set.seed(2)
permanova_sp <- adonis2(fam_simboo[, 3:length(fam_simboo)] ~ fam_simboo$Snake.Species, data = fam_simboo[, 1])
## clean table
broom::tidy(permanova_sp)| term | df | SumOfSqs | R2 | statistic | p.value |
|---|---|---|---|---|---|
| fam_simboo$Snake.Species | 1 | 1.556349 | 0.0511228 | 3.771403 | 0.002 |
| Residual | 70 | 28.886984 | 0.9488772 | ||
| Total | 71 | 30.443333 | 1.0000000 |
Prey composition was significantly different between the two snake species.
3.8 Difference in size selectivity of prey between H. curtus and H. schistosus
# summary
gc%>%
filter(Snake.Species == "Hydrophis schistosus" | Snake.Species == "Hydrophis curtus",
Condition < 3)%>% # removing very digested specimens
group_by(Snake.Species)%>%
skimr::skim(Maximum.Body.Girth..cm.)%>%
skimr::yank("numeric")%>%
dplyr::select(Snake.Species:p100)Variable type: numeric
| Snake.Species | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 |
|---|---|---|---|---|---|---|---|---|---|
| Hydrophis curtus | 2 | 0.86 | 2.77 | 0.76 | 2.0 | 2.08 | 2.65 | 3.2 | 4.5 |
| Hydrophis schistosus | 0 | 1.00 | 3.46 | 1.17 | 0.6 | 3.00 | 3.60 | 4.3 | 5.5 |
# testing diff max prey width by species
gc%>%
filter(Snake.Species == "Hydrophis schistosus" | Snake.Species == "Hydrophis curtus",
Condition < 3, # removing digested specimens
!is.na(Maximum.Body.Girth..cm.))%>% # removing unrecorded data
dplyr::select(Snake.Species, Maximum.Body.Girth..cm.)%>%
droplevels()%>%
nest()%>%
mutate(test = map(data, ~t.test(Maximum.Body.Girth..cm. ~ Snake.Species, data = .)), # t test
sumry = map(test, broom::tidy),
d = map(data, ~lsr::cohensD(Maximum.Body.Girth..cm. ~ Snake.Species, data = .)))%>% # effect size
dplyr::select(sumry, d)%>%
unnest()%>%
dplyr::select(estimate1:parameter, d)%>%
rename(`Hydrophis curtus` = estimate1,
`Hydrophis schistosus` = estimate2)| Hydrophis curtus | Hydrophis schistosus | statistic | p.value | parameter | d |
|---|---|---|---|---|---|
| 2.76775 | 3.463946 | -2.386272 | 0.0237889 | 28.90876 | 0.6420566 |
H. schistosus fed on larger prey than H. curtus