These functions are used to create parameters that consist of a single number. Parameters have a name, a value, a defined range of acceptable values, a default value, a class, and a shiny widget for modifying them. If values are supplied to a parameter that are unacceptable then an error is thrown.

proportion_parameter(name, value)

binary_parameter(name, value)

integer_parameter(name, value,
  lower_limit = as.integer(-.Machine$integer.max),
  upper_limit = as.integer(.Machine$integer.max))

numeric_parameter(name, value, lower_limit = .Machine$double.xmin,
  upper_limit = .Machine$double.xmax)

Arguments

name

character name of parameter.

value

integer or double value depending on the parameter.

lower_limit

integer or double value representing the smallest acceptable value for value. Defaults to the smallest possible number on the system.

upper_limit

integer or double value representing the largest acceptable value for value. Defaults to the largest possible number on the system.

Value

ScalarParameter-class object.

Details

Below is a list of parameter generating functions and a brief description of each.

proportion_parameter

A parameter that is a double and bounded between zero and one.

integer_parameter

A parameter that is a integer.

numeric_parameter

A parameter that is a double.

binary_parameter

A parameter that is restricted to integer values of zero or one.

Examples

# proportion parameter p1 <- proportion_parameter('prop', 0.5) # create new object print(p1) # print it
#> prop (0.5)
p1$get() # get value
#> [1] 0.5
p1$id # get id
#> id: 1cc3e93d-486c-467f-9e41-fc4bab8d8680
p1$validate(5) # check if 5 is a validate input p1$validate(0.1) # check if 0.1 is a validate input p1$set(0.1) # change value to 0.1 print(p1)
#> prop (0.1)
# binary parameter p2 <- binary_parameter('bin', 0) # create new object print(p2) # print it
#> bin (0)
p2$get() # get value
#> [1] 0
p2$id # get id
#> id: d678cfd8-0ea0-4449-93fb-31e5d0a228a2
p2$validate(5) # check if 5 is a validate input p2$validate(1L) # check if 1L is a validate input p2$set(1L) # change value to 1L print(p1) # print it again
#> prop (0.1)
# integer parameter p3 <- integer_parameter('int', 5L) # create new object print(p3) # print it
#> int (5)
p3$get() # get value
#> [1] 5
p3$id # get id
#> id: a467ef59-88bf-487a-b1d1-5a5e22dd5b2d
p3$validate(5.6) # check if 5.6 is a validate input p3$validate(2L) # check if 2L is a validate input p3$set(2L) # change value to 2L print(p3) # print it again
#> int (2)
# numeric parameter p4 <- numeric_parameter('dbl', -7.6) # create new object print(p4) # print it
#> dbl (-7.6)
p4$get() # get value
#> [1] -7.6
p4$id # get id
#> id: 82e5d163-0c6f-4e3c-a01e-13782039a0d3
p4$validate(NA) # check if NA is a validate input p4$validate(8.9) # check if 8.9 is a validate input p4$set(8.9) # change value to 8.9 print(p4) # print it again
#> dbl (8.9)
# numeric parameter with lower bounds p5 <- numeric_parameter('bdbl', 6, lower_limit=0) # create new object print(p5) # print it
#> bdbl (6)
p5$get() # get value
#> [1] 6
p5$id # get id
#> id: 8a9b8552-484f-4c7b-bca6-80c748265789
p5$validate(-10) # check if -10 is a validate input p5$validate(90) # check if 90 is a validate input p5$set(90) # change value to 8.9 print(p5) # print it again
#> bdbl (90)