Skip to content

Commit 4666deb

Browse files
committed
Convert manipulate_species functions to S3 methods
1 parent b5cc929 commit 4666deb

2 files changed

Lines changed: 68 additions & 8 deletions

File tree

NAMESPACE

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ S3method(age_mat,MizerParams)
44
S3method(age_mat_vB,MizerParams)
55
S3method(age_mat_vB,data.frame)
66
S3method(age_mat_vB,default)
7+
S3method(addSpecies,MizerParams)
8+
S3method(addSpecies,default)
79
S3method(plotBiomass,MizerSim)
810
S3method(plotDiet,MizerParams)
911
S3method(plotDiet,MizerSim)
@@ -19,6 +21,12 @@ S3method(plotSpectra,MizerParams)
1921
S3method(plotSpectra,MizerSim)
2022
S3method(plotYield,MizerSim)
2123
S3method(plotYieldGear,MizerSim)
24+
S3method(removeSpecies,MizerParams)
25+
S3method(removeSpecies,default)
26+
S3method(renameGear,MizerParams)
27+
S3method(renameGear,default)
28+
S3method(renameSpecies,MizerParams)
29+
S3method(renameSpecies,default)
2230
export("catchability<-")
2331
export("diffusion<-")
2432
export("ext_encounter<-")

R/manipulate_species.R

Lines changed: 60 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,6 @@
4545
#' The new species will have a reproduction level of 1/4, this can then be
4646
#' changed with [setBevertonHolt()]
4747
#'
48-
#' @seealso [removeSpecies()]
49-
#' @export
5048
#' @examples
5149
#' params <- newTraitParams()
5250
#' species_params <- data.frame(
@@ -61,9 +59,18 @@
6159
#' )
6260
#' params <- addSpecies(params, species_params)
6361
#' plotSpectra(params)
64-
addSpecies <- function(params, species_params,
65-
gear_params = data.frame(), initial_effort,
66-
interaction) {
62+
#' @seealso [removeSpecies()]
63+
#' @export
64+
#' @rdname addSpecies
65+
addSpecies <- function(params, ...) {
66+
UseMethod("addSpecies")
67+
}
68+
69+
#' @rdname addSpecies
70+
#' @export
71+
addSpecies.MizerParams <- function(params, species_params,
72+
gear_params = data.frame(), initial_effort,
73+
interaction) {
6774
# check validity of parameters ----
6875
params <- validParams(params)
6976
given_species_params <- validGivenSpeciesParams(species_params)
@@ -303,6 +310,12 @@ addSpecies <- function(params, species_params,
303310
return(p)
304311
}
305312

313+
#' @rdname addSpecies
314+
#' @export
315+
addSpecies.default <- function(params, ...) {
316+
stop("The first argument to addSpecies() must be a MizerParams object.")
317+
}
318+
306319

307320
#' Remove species
308321
#'
@@ -320,12 +333,19 @@ addSpecies <- function(params, species_params,
320333
#'
321334
#' @return An object of type \linkS4class{MizerParams}
322335
#' @export
336+
#' @rdname removeSpecies
323337
#' @examples
324338
#' params <- NS_params
325339
#' species_params(params)$species
326340
#' params <- removeSpecies(params, c("Cod", "Haddock"))
327341
#' species_params(params)$species
328-
removeSpecies <- function(params, species) {
342+
removeSpecies <- function(params, ...) {
343+
UseMethod("removeSpecies")
344+
}
345+
346+
#' @rdname removeSpecies
347+
#' @export
348+
removeSpecies.MizerParams <- function(params, species) {
329349
params <- validParams(params)
330350
species <- valid_species_arg(params, species,
331351
return.logical = TRUE)
@@ -386,6 +406,12 @@ removeSpecies <- function(params, species) {
386406
return(p)
387407
}
388408

409+
#' @rdname removeSpecies
410+
#' @export
411+
removeSpecies.default <- function(params, ...) {
412+
stop("The first argument to removeSpecies() must be a MizerParams object.")
413+
}
414+
389415

390416
#' Rename species
391417
#'
@@ -401,11 +427,18 @@ removeSpecies <- function(params, species) {
401427
#'
402428
#' @return An object of type \linkS4class{MizerParams}
403429
#' @export
430+
#' @rdname renameSpecies
404431
#' @examples
405432
#' replace <- c(Cod = "Kabeljau", Haddock = "Schellfisch")
406433
#' params <- renameSpecies(NS_params, replace)
407434
#' species_params(params)$species
408-
renameSpecies <- function(params, replace) {
435+
renameSpecies <- function(params, ...) {
436+
UseMethod("renameSpecies")
437+
}
438+
439+
#' @rdname renameSpecies
440+
#' @export
441+
renameSpecies.MizerParams <- function(params, replace) {
409442
params <- validParams(params)
410443
replace[] <- as.character(replace)
411444
to_replace <- names(replace)
@@ -471,6 +504,12 @@ renameSpecies <- function(params, replace) {
471504
return(params)
472505
}
473506

507+
#' @rdname renameSpecies
508+
#' @export
509+
renameSpecies.default <- function(params, ...) {
510+
stop("The first argument to renameSpecies() must be a MizerParams object.")
511+
}
512+
474513

475514
#' Rename gears
476515
#'
@@ -487,11 +526,18 @@ renameSpecies <- function(params, replace) {
487526
#'
488527
#' @return An object of type \linkS4class{MizerParams}
489528
#' @export
529+
#' @rdname renameGear
490530
#' @examples
491531
#' replace <- c(Industrial = "Trawl", Otter = "Beam_Trawl")
492532
#' params <- renameGear(NS_params, replace)
493533
#' gear_params(params)$gear
494-
renameGear <- function(params, replace) {
534+
renameGear <- function(params, ...) {
535+
UseMethod("renameGear")
536+
}
537+
538+
#' @rdname renameGear
539+
#' @export
540+
renameGear.MizerParams <- function(params, replace) {
495541
params <- validParams(params)
496542
replace[] <- as.character(replace)
497543
to_replace <- names(replace)
@@ -531,3 +577,9 @@ renameGear <- function(params, replace) {
531577
params@time_modified <- lubridate::now()
532578
return(params)
533579
}
580+
581+
#' @rdname renameGear
582+
#' @export
583+
renameGear.default <- function(params, ...) {
584+
stop("The first argument to renameGear() must be a MizerParams object.")
585+
}

0 commit comments

Comments
 (0)