Elements of transition probability matrices are multiplied by relative risks and the transition probability matrices are adjusted so that rows sum to 1. Operations are vectorized and each relative risk is multiplied by every transition matrix (stored in 3-dimensional arrays).

`apply_rr(x, rr, index, complement = NULL)`

- x
A 3-dimensional array where each slice is a square transition probability matrix.

- rr
A 2-dimensional tabular object such as a matrix or data frame where each column is a vector of relative risks to apply to each transition matrix in

`x`

.- index
The indices of the transition probability matrices that

`rr`

is applied to. Should either be a matrix where the first column denotes a transition probability matrix row and the second column denotes a transition probability matrix column or a list where each element is a vector of length 2 with the first element denoting a transition probability matrix row and the second column denoting a transition probability matrix column.- complement
Denotes indices of transition probability matrices that are "complements" (i.e., computed as \(1\) less the sum of all other elements in that row). Should be in the same format as

`index`

. There can be at most one complementary column in each row of a transition probability matrix. If`NULL`

, then the diagonals are assumed to be the complements.

A 3-dimensional array where each slice contains matrices of the same
dimension as each matrix in `x`

and the number of slices is equal to the number
of rows in `rr`

.

This function is useful for applying relative treatment effects measured
using relative risks to an existing transition probability matrix. For example,
a transition probability matrix for the reference treatment strategy may exist or
have been estimated from the data. Relative risks estimated from a meta-analysis
or network meta-analysis can then be applied to the reference transition probability
matrix. If the number of rows in `rr`

exceeds `x`

, then the arrays in `x`

are
recycled to the number of rows in `rr`

, which facilitates the application of
relative risks from multiple treatment strategies to a reference treatment.

```
p_12 <- c(.7, .5)
p_23 <- c(.1, .2)
x <- as_array3(tpmatrix(
C, p_12, .1,
0, C, p_23,
0, 0, 1
))
# There are the same number of relative risk rows and transition probability matrices
rr_12 <- runif(2, .8, 1)
rr_13 <- runif(2, .9, 1)
rr <- cbind(rr_12, rr_13)
apply_rr(x, rr,
index = list(c(1, 2), c(1, 3)),
complement = list(c(1, 1), c(2, 2)))
#> , , 1
#>
#> [,1] [,2] [,3]
#> [1,] 0.2599459 0.6423888 0.09766537
#> [2,] 0.0000000 0.9000000 0.10000000
#> [3,] 0.0000000 0.0000000 1.00000000
#>
#> , , 2
#>
#> [,1] [,2] [,3]
#> [1,] 0.4887967 0.4113606 0.09984273
#> [2,] 0.0000000 0.8000000 0.20000000
#> [3,] 0.0000000 0.0000000 1.00000000
#>
# There are more relative risk rows than transition probability matrices
rr_12 <- runif(4, .8, 1)
rr_13 <- runif(4, .9, 1)
rr <- cbind(rr_12, rr_13)
apply_rr(x, rr,
index = list(c(1, 2), c(1, 3)),
complement = list(c(1, 1), c(2, 2)))
#> , , 1
#>
#> [,1] [,2] [,3]
#> [1,] 0.3135021 0.5954554 0.09104254
#> [2,] 0.0000000 0.9000000 0.10000000
#> [3,] 0.0000000 0.0000000 1.00000000
#>
#> , , 2
#>
#> [,1] [,2] [,3]
#> [1,] 0.4652217 0.4354188 0.09935959
#> [2,] 0.0000000 0.8000000 0.20000000
#> [3,] 0.0000000 0.0000000 1.00000000
#>
#> , , 3
#>
#> [,1] [,2] [,3]
#> [1,] 0.2926727 0.6117967 0.09553057
#> [2,] 0.0000000 0.9000000 0.10000000
#> [3,] 0.0000000 0.0000000 1.00000000
#>
#> , , 4
#>
#> [,1] [,2] [,3]
#> [1,] 0.4241173 0.4787659 0.09711682
#> [2,] 0.0000000 0.8000000 0.20000000
#> [3,] 0.0000000 0.0000000 1.00000000
#>
```