Create a parameter that represents a matrix object.
numeric_matrix_parameter(
name,
value,
lower_limit = .Machine$double.xmin,
upper_limit = .Machine$double.xmax,
symmetric = FALSE
)
binary_matrix_parameter(name, value, symmetric = FALSE)
character
name of parameter.
matrix
object.
numeric
values denoting the minimum acceptable
value in the matrix. Defaults to the smallest possible number on the
system.
numeric
values denoting the maximum acceptable
value in the matrix. Defaults to the smallest possible number on the
system.
logical
must the must be matrix be symmetric?
Defaults to FALSE
.
MiscParameter object.
# create matrix
m <- matrix(runif(9), ncol = 3)
colnames(m) <- letters[1:3]
rownames(m) <- letters[1:3]
# create a numeric matrix parameter
p1 <- numeric_matrix_parameter("m", m)
print(p1) # print it
#> <environment: 0x556a1b7c63e0>
#> attr(,"class")
#> [1] "MiscParameter" "MiscParameter" "Parameter" "pproto"
#> [5] "proto" "environment"
p1$get() # get value
#> a b c
#> a 0.3714649 0.21764370 0.3577770
#> b 0.5189460 0.05271852 0.3794181
#> c 0.8149471 0.97241605 0.1247372
p1$id # get id
#> id: f91439b7-76b8-4492-9766-f0e19d6e1451
p1$validate(m[, -1]) # check if parameter can be updated
#> [1] FALSE
#> attr(,"msg")
#> [1] "ncol(m) not equal to ncol(value)"
p1$set(m + 1) # set parameter to new values
p1$print() # print it again
#> [1] "m"
# create a binary matrix parameter
m <- matrix(round(runif(9)), ncol = 3)
colnames(m) <- letters[1:3]
rownames(m) <- letters[1:3]
# create a binary matrix parameter
p2 <- binary_matrix_parameter("m", m)
print(p2) # print it
#> <environment: 0x556a1aa979b0>
#> attr(,"class")
#> [1] "MiscParameter" "MiscParameter" "Parameter" "pproto"
#> [5] "proto" "environment"
p2$get() # get value
#> a b c
#> a 1 0 1
#> b 0 0 1
#> c 0 0 0
p2$id # get id
#> id: 254cfd68-73d1-4ccd-8fc3-0d323205ee46
p2$validate(m[, -1]) # check if parameter can be updated
#> [1] FALSE
#> attr(,"msg")
#> [1] "ncol(m) not equal to ncol(value)"
p2$set(m + 1) # set parameter to new values
p2$print() # print it again
#> [1] "m"