3030# #
3131# # ---------------------------
3232
33- plot_all_graphs = TRUE
33+ plot_all_graphs = FALSE # TRUE FALSE
3434
3535# define package list that is needed to run this script
3636packages.needed <- c(" report" , " filesstrings" , " scales" , " parallel" , " zen4R" , " rotl" , " kgc" , " gridExtra" , " viridis" , " ggplot2" , " plotly" , " readxl" , " gsheet" , " tidyverse" , " forceR" )
@@ -117,7 +117,7 @@ measurements <- unique(raw.measurements.200$filename)
117117
118118# define path for plots
119119plot.path <- " ./4_plots"
120- plot.path <- " C:/Users/pruehr.EVOLUTION/Documents/4_plots" # <- in case saving in server folder kills R
120+ # plot.path <- "C:/Users/pruehr.EVOLUTION/Documents/4_plots" # <- in case saving in server folder kills R
121121
122122
123123if (plot_all_graphs == TRUE ){
@@ -462,8 +462,7 @@ external.bf.data.meas <- read_xlsx("./ext_data/external_data.xlsx") %>%
462462
463463
464464# body length; normal mean <- in supplement
465- lin.eq.1 <- lm(log10(iBite.table.reduced_ID $ mean.bf.ID ) ~ log10(iBite.table.reduced_ID $ mean.ID.body.l ))
466- summary(lin.eq.1 )
465+ lin.eq.reg_bl <- lm(log10(iBite.table.reduced_ID $ mean.bf.ID ) ~ log10(iBite.table.reduced_ID $ mean.ID.body.l ))
467466
468467iBite.table.reduced_plot <- iBite.table.reduced_ID %> % # renaming so it fits ggplot but names are not accurate
469468 select(- c(mean.bf.specimen , body.l )) %> %
@@ -487,8 +486,7 @@ p1.body.l.hist.regular <- ggExtra::ggMarginal(p1, type = "histogram")
487486
488487
489488# body length; geometric mean <- in Fig. 2 in main text
490- lin.eq.1 <- lm(log10(iBite.table.reduced_ID $ mean.bf.ID.geom ) ~ log10(iBite.table.reduced_ID $ mean.ID.body.l.geom ))
491- summary(lin.eq.1 )
489+ lin.eq.geom_bl <- lm(log10(iBite.table.reduced_ID $ mean.bf.ID.geom ) ~ log10(iBite.table.reduced_ID $ mean.ID.body.l.geom ))
492490
493491iBite.table.reduced_plot <- iBite.table.reduced_ID %> % # renaming so it fits ggplot but names are not accurate
494492 select(- c(mean.bf.specimen , max.bf.specimen , body.l )) %> %
@@ -512,11 +510,9 @@ p1.body.l.hist <- ggExtra::ggMarginal(p1.body.l, type = "histogram")
512510# p1.body.l.hist
513511
514512
515-
516-
517513# head width; normal mean <- in supplement
518- lin.eq.1 <- lm(log10(iBite.table.reduced_ID $ mean.bf.ID ) ~ log10(iBite.table.reduced_ID $ mean.ID.head.w ))
519- summary( lin.eq.1 )
514+ lin.eq.reg_hw <- lm(log10(iBite.table.reduced_ID $ mean.bf.ID ) ~ log10(iBite.table.reduced_ID $ mean.ID.head.w ))
515+
520516
521517iBite.table.reduced_plot <- iBite.table.reduced_ID %> % # renaming so it fits ggplot but names are not accurate
522518 select(- c(mean.bf.specimen , head.w )) %> %
@@ -542,8 +538,7 @@ p1.head.w.hist.regular <- ggExtra::ggMarginal(p1, type = "histogram")
542538
543539
544540# head width; geometric mean <- in Fig. 2 in main text
545- lin.eq.1 <- lm(log10(iBite.table.reduced_ID $ mean.bf.ID.geom ) ~ log10(iBite.table.reduced_ID $ mean.ID.head.w.geom ))
546- summary(lin.eq.1 )
541+ lin.eq.geom_hw <- lm(log10(iBite.table.reduced_ID $ mean.bf.ID.geom ) ~ log10(iBite.table.reduced_ID $ mean.ID.head.w.geom ))
547542
548543iBite.table.reduced_plot <- iBite.table.reduced_ID %> % # renaming so it fits ggplot but names are not accurate
549544 select(- c(mean.bf.specimen , max.bf.specimen , head.w )) %> %
@@ -601,6 +596,33 @@ print(grid.arrange(p1.body.l.hist, p1.head.w.hist,
601596dev.off()
602597
603598
599+
600+
601+ # create table with linear regression values of regular and geometric means
602+ regression_df <- tibble(mean_type = c(" regular" ,
603+ " regular" ,
604+ " geometric" ,
605+ " geometric" ),
606+ x = c(" body length" ,
607+ " head width" ,
608+ " body length" ,
609+ " head width" ),
610+ p = c(summary(lin.eq.reg_bl )$ coefficients [2 ,4 ],
611+ summary(lin.eq.reg_hw )$ coefficients [2 ,4 ],
612+ summary(lin.eq.geom_bl )$ coefficients [2 ,4 ],
613+ summary(lin.eq.geom_bl )$ coefficients [2 ,4 ]),
614+ R2 = c(round(summary(lin.eq.reg_bl )$ r.squared ,2 ),
615+ round(summary(lin.eq.reg_hw )$ r.squared ,2 ),
616+ round(summary(lin.eq.geom_bl )$ r.squared ,2 ),
617+ round(summary(lin.eq.geom_hw )$ r.squared ,2 )),
618+ adj_R2 = c(round(summary(lin.eq.reg_bl )$ adj.r.squared ,2 ),
619+ round(summary(lin.eq.reg_hw )$ adj.r.squared ,2 ),
620+ round(summary(lin.eq.geom_bl )$ adj.r.squared ,2 ),
621+ round(summary(lin.eq.geom_hw )$ adj.r.squared ,2 )))
622+
623+ regression_df $ p [regression_df $ p < 0.001 ] <- " <.001"
624+ regression_df
625+
604626# does database data share a common slope with external data, or do they show unique slopes?
605627# unique allometric slopes:
606628external.and.iBite.data <- rbind(iBite.table.reduced_ID %> %
0 commit comments