Specify p_spline method
Examples
# Valid usage
p_spline(spline_degree = 2L, days_per_knot = 5L)
#> $method
#> [1] "p-spline"
#>
#> $model_params
#> $model_params$spline_degree
#> [1] 2
#>
#> $model_params$days_per_knot
#> [1] 5
#>
#>
#> attr(,"class")
#> [1] "EpiStrainDynamics.method"
p_spline(spline_degree = 3, days_per_knot = 7)
#> $method
#> [1] "p-spline"
#>
#> $model_params
#> $model_params$spline_degree
#> [1] 3
#>
#> $model_params$days_per_knot
#> [1] 7
#>
#>
#> attr(,"class")
#> [1] "EpiStrainDynamics.method"
# These will produce validation errors (as intended):
# \donttest{
# Non-positive values
try(p_spline(spline_degree = 0, days_per_knot = 5))
#> Error : Argument 'spline_degree' must be a positive number
try(p_spline(spline_degree = 3, days_per_knot = -1))
#> Error : Argument 'days_per_knot' must be a positive number
# Non-whole numbers
try(p_spline(spline_degree = 2.5, days_per_knot = 5))
#> Error : Argument 'spline_degree' must be a whole number
try(p_spline(spline_degree = 3, days_per_knot = 4.2))
#> Error : Argument 'days_per_knot' must be a whole number
# Non-numeric values
try(p_spline(spline_degree = "invalid", days_per_knot = 5))
#> Error : Argument 'spline_degree' must be numeric
# }