Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -136,9 +136,12 @@ S3method(getYield,MizerParams)
S3method(getYield,MizerSim)
S3method(getYieldGear,MizerParams)
S3method(getYieldGear,MizerSim)
S3method(get_f0_default,MizerParams)
S3method(get_gamma_default,MizerParams)
S3method(get_h_default,MizerParams)
S3method(get_h_default,data.frame)
S3method(get_h_default,species_params)
S3method(get_ks_default,MizerParams)
S3method(given_species_params,MizerParams)
S3method(given_species_params,MizerSim)
S3method(given_species_params,data.frame)
Expand Down
43 changes: 33 additions & 10 deletions R/species_params.R
Original file line number Diff line number Diff line change
Expand Up @@ -632,13 +632,20 @@ get_h_default.data.frame <- function(object) {
#' spectrum described by the power law \eqn{\kappa w^{-\lambda}} achieve a
#' feeding level \eqn{f_0}. Only for internal use.
#'
#' @param params A MizerParams object
#' @param object A MizerParams object
#' @return A vector with the values of gamma for all species
#' @export
#' @concept helper
#' @family functions calculating defaults
get_gamma_default <- function(params) {
assert_that(is(params, "MizerParams"))
get_gamma_default <- function(object) {
UseMethod("get_gamma_default")
}

#' @rdname get_gamma_default
#' @usage NULL
#' @export
get_gamma_default.MizerParams <- function(object) {
params <- object
species_params <- params@species_params %>%
set_species_param_default("f0", 0.6)
if (!("gamma" %in% colnames(species_params))) {
Expand Down Expand Up @@ -683,6 +690,7 @@ get_gamma_default <- function(params) {
return(species_params$gamma)
}


#' Get default value for f0
#'
#' Fills in any missing values for f0 so that if the prey abundance was
Expand All @@ -695,13 +703,20 @@ get_gamma_default <- function(params) {
#' parameter data frame, the `f0` values is kept as provided in the species
#' parameter data frame or it is set to 0.6 if it is not provided.
#'
#' @param params A MizerParams object
#' @param object A MizerParams object
#' @return A vector with the values of f0 for all species
#' @export
#' @concept helper
#' @family functions calculating defaults
get_f0_default <- function(params) {
assert_that(is(params, "MizerParams"))
get_f0_default <- function(object) {
UseMethod("get_f0_default")
}

#' @rdname get_f0_default
#' @usage NULL
#' @export
get_f0_default.MizerParams <- function(object) {
params <- object
species_params <- params@species_params %>%
set_species_param_default("f0", 0.6)
if (!("gamma" %in% colnames(species_params))) {
Expand Down Expand Up @@ -736,21 +751,29 @@ get_f0_default <- function(params) {
return(species_params$f0)
}


#' Get default value for `ks`
#'
#' Fills in any missing values for `ks` so that the critical feeding level needed
#' to sustain the species is as specified in the `fc` column in the species
#' parameter data frame. If that column is not provided the default critical
#' feeding level \eqn{f_c = 0.2} is used.
#'
#' @param params A MizerParams object
#' @param object A MizerParams object
#' @return A vector with the values of ks for all species
#' @export
#' @concept helper
#' @family functions calculating defaults
get_ks_default <- function(params) {
assert_that(is(params, "MizerParams"),
"n" %in% names(params@species_params),
get_ks_default <- function(object) {
UseMethod("get_ks_default")
}

#' @rdname get_ks_default
#' @usage NULL
#' @export
get_ks_default.MizerParams <- function(object) {
params <- object
assert_that("n" %in% names(params@species_params),
"p" %in% names(params@species_params))
if (!"h" %in% names(params@species_params) ||
any(is.na(params@species_params[["h"]]))) {
Expand Down
5 changes: 3 additions & 2 deletions man/get_f0_default.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions man/get_gamma_default.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions man/get_ks_default.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions tests/testthat/test-species_params.R
Original file line number Diff line number Diff line change
Expand Up @@ -334,4 +334,9 @@ test_that("get_h_default S3 methods work", {

expect_equal(h_params, h_sp)
expect_equal(h_params, h_df)

# Test other default S3 generics
expect_equal(get_gamma_default(params), get_gamma_default.MizerParams(params))
expect_equal(get_f0_default(params), get_f0_default.MizerParams(params))
expect_equal(get_ks_default(params), get_ks_default.MizerParams(params))
})