I'm working on a sensitivity analysis based on some outputs from a model. Let's say I have a matrix as follows:
parameter_range <- matrix(c(1.61-(1.61*0.10),1.61,1.61+(1.61*0.10), #parameter 1
20-(20*0.1),20,20+(20*0.1), #parameter 2
-2.5-(2.5*0.1),-2.5,-2.5+(2.5*0.1), #parameter 3
-1.007-(-1.007*0.1),-1.007,-1.007+(-1.007*0.1), #parameter 4
4000-(4000*0.1),4000,4000+(4000*0.1)), nrow=3, ncol=5) #parameter 5 parameter
>parameter_range
[,1] [,2] [,3] [,4] [,5]
[1,] 1.449 18 -2.75 -0.9063 3600
[2,] 1.610 20 -2.50 -1.0070 4000
[3,] 1.771 22 -2.25 -1.1077 4400
Something like this:
library(dplyr)
all_comb = parameter_range %>%
data.frame() %>%
expand.grid() %>%
arrange(X1) %>%
as.matrix()
Result:
> head(all_comb, 10)
X1 X2 X3 X4 X5
[1,] 1.449 18 -2.75 -0.9063 3600
[2,] 1.449 20 -2.75 -0.9063 3600
[3,] 1.449 22 -2.75 -0.9063 3600
[4,] 1.449 18 -2.50 -0.9063 3600
[5,] 1.449 20 -2.50 -0.9063 3600
[6,] 1.449 22 -2.50 -0.9063 3600
[7,] 1.449 18 -2.25 -0.9063 3600
[8,] 1.449 20 -2.25 -0.9063 3600
[9,] 1.449 22 -2.25 -0.9063 3600
[10,] 1.449 18 -2.75 -1.0070 3600