Create parameters that consist of multiple numbers. If an attempt is made to create a parameter with conflicting settings then an error will be thrown.
proportion_parameter_array(name, value, label)
binary_parameter_array(name, value, label)
integer_parameter_array(
name,
value,
label,
lower_limit = rep(as.integer(-.Machine$integer.max), length(value)),
upper_limit = rep(as.integer(.Machine$integer.max), length(value))
)
numeric_parameter_array(
name,
value,
label,
lower_limit = rep(.Machine$double.xmin, length(value)),
upper_limit = rep(.Machine$double.xmax, length(value))
)character name of parameter.
vector of values.
character vector of labels for each value.
vector of values denoting the minimum acceptable
value for each element in value. Defaults to the
smallest possible number on the system.
vector of values denoting the maximum acceptable
value for each element in value. Defaults to the
largest possible number on the system.
ArrayParameter object.
Below is a list of parameter generating functions and a brief description of each.
a parameter that consists of multiple
numeric values that are between zero and one.
a parameter that consists of multiple
integer values that are either zero or one.
a parameter that consists of multiple
integer values.
a parameter that consists of multiple
numeric values.
# proportion parameter array
p1 <- proportion_parameter_array('prop_array', c(0.1, 0.2, 0.3),
letters[1:3])
print(p1) # print it
#> prop_array (min: 0.1, max: 0.3)
p1$get() # get value
#> value
#> a 0.1
#> b 0.2
#> c 0.3
p1$id # get id
#> id: 238c305b-d20a-4d07-933e-8d40afc4427e
invalid <- data.frame(value = 1:3, row.names=letters[1:3]) # invalid values
p1$validate(invalid) # check invalid input is invalid
valid <- data.frame(value = c(0.4, 0.5, 0.6), row.names=letters[1:3]) # valid
p1$validate(valid) # check valid input is valid
p1$set(valid) # change value to valid input
print(p1)
#> prop_array (min: 0.4, max: 0.6)
# binary parameter array
p2 <- binary_parameter_array('bin_array', c(0L, 1L, 0L), letters[1:3])
print(p2) # print it
#> bin_array (min: 0, max: 1)
p2$get() # get value
#> value
#> a 0
#> b 1
#> c 0
p2$id # get id
#> id: 08087f8b-5a9b-4f36-b2b3-276b97b67a72
invalid <- data.frame(value = 1:3, row.names=letters[1:3]) # invalid values
p2$validate(invalid) # check invalid input is invalid
valid <- data.frame(value = c(0L, 0L, 0L), row.names=letters[1:3]) # valid
p2$validate(valid) # check valid input is valid
p2$set(valid) # change value to valid input
print(p2)
#> bin_array (min: 0, max: 0)
# integer parameter array
p3 <- integer_parameter_array('int_array', c(1:3), letters[1:3])
print(p3) # print it
#> int_array (min: 1, max: 3)
p3$get() # get value
#> value
#> a 1
#> b 2
#> c 3
p3$id # get id
#> id: 0cd53a05-b309-4bbe-80c7-61631a1a31d8
invalid <- data.frame(value = rnorm(3), row.names=letters[1:3]) # invalid
p3$validate(invalid) # check invalid input is invalid
valid <- data.frame(value = 5:7, row.names=letters[1:3]) # valid
p3$validate(valid) # check valid input is valid
p3$set(valid) # change value to valid input
print(p3)
#> int_array (min: 5, max: 7)
# numeric parameter array
p4 <- numeric_parameter_array('dbl_array', c(0.1, 4, -5), letters[1:3])
print(p4) # print it
#> dbl_array (min: -5, max: 4)
p4$get() # get value
#> value
#> a 0.1
#> b 4.0
#> c -5.0
p4$id # get id
#> id: 0c4f2105-2a40-4897-a524-3ef38eaf5e74
invalid <- data.frame(value = c(NA, 1, 2), row.names=letters[1:3]) # invalid
p4$validate(invalid) # check invalid input is invalid
valid <- data.frame(value = c(1, 2, 3), row.names=letters[1:3]) # valid
p4$validate(valid) # check valid input is valid
p4$set(valid) # change value to valid input
print(p4)
#> dbl_array (min: 1, max: 3)
# numeric parameter array with lower bounds
p5 <- numeric_parameter_array('b_dbl_array', c(0.1, 4, -5), letters[1:3],
lower_limit=c(0, 1, 2))
print(p5) # print it
#> b_dbl_array (min: -5, max: 4)
p5$get() # get value
#> value
#> a 0.1
#> b 4.0
#> c -5.0
p5$id# get id
#> id: fa987fda-e477-413b-9641-ac24043801b0
invalid <- data.frame(value = c(-1, 5, 5), row.names=letters[1:3]) # invalid
p5$validate(invalid) # check invalid input is invalid
valid <- data.frame(value = c(0, 1, 2), row.names=letters[1:3]) # valid
p5$validate(valid) # check valid input is valid
p5$set(valid) # change value to valid input
print(p5)
#> b_dbl_array (min: 0, max: 2)