James-Thorson-NOAA / FishLife

Estimate fish traits for all marine fish species globally
https://james-thorson-noaa.github.io/FishLife/
GNU General Public License v3.0
45 stars 12 forks source link

Add Get_traits function #7

Open DanOvando opened 6 years ago

DanOvando commented 6 years ago

Hey @James-Thorson , FishLife has been a huge help, thanks for getting it out there. I'm running large numbers of queries and wanted to speed things up a bit by extracting the life history traits without producing the plots that currently get produced by Plot_taxa in the process of getting Predict[[1]]$Mean_pred per the vignette (was also running into some problems running FishLife in terminal on Ubuntu when it was trying to print all that).

So, added a function called Get_traits, that just boils down some of the actions in Plot_taxa to getting the mean trait values (in their natural scale).

Also added a verbose option to Search_species to silent the "closest match" if desired.

Also apparently with the new roxygen it adds a blank line to the end of every man file, so that's why you see a bunch of changes to those files.

Let me know if you have thoughts

James-Thorson commented 6 years ago

Dan,

Sorry, I'm on the fence about bringing this in. It seems helpful, but I'm also imagining that most users could generate a loop on their own. Additionally, it will conflict with a major development push, where I fit FishLife to Myers stock-recruit data to bring in steepness, SigmaR, Rar1, Fmsy_over_M, and Fmsy. Some of these are logit transformed, or in different transformed spaces. So ultimately the exponentiation will conflict. Are you willing to update this function when I bring in that other development push (when the paper is accepted somewhere)?

DanOvando commented 6 years ago

Yeah of course, clearly the current exponentiation step I include is pretty hacky, happy to update this to reflect arbitrary variable transformations (and help create accessible documentation in the outputs of what and how different variables have been transformed?).

No problem though if you don't feel it's needed, I can just build the processing steps into the packages that I'm using FishLife in; I've ended up emailing around many versions of this simple solution though so thought it might be good inclusion, but clearly it's nothing complicated to do on the user end. Could also just add a section to the vignette showing people how to do this if they're confused.

Though I would vote for the verbose option in Search_species to be included to allow users to stop printing messages if desired

Dan