Я применяю метод к набору данных и пытаюсь определить его чувствительность к каждому параметру. Существуют «общие» значения, используемые методом, но мне любопытно, как выходные данные будут отличаться, если они будут больше или меньше. Это может быть проще описать с помощью простого примера:
library(tidyverse)
library(magrittr)
data <- data.frame(let = c("Alpha","Beta","Gamma","Delta"), num = c(1,2,3,4))
data$var = NA
ftn <- function(df, A, B, C){
df %<>% mutate(var = num * (A*3 + B*(2/3) - C))
}
data <- ftn(data, A = 4, B = 2, C = 6)
Функция ftn, приведенная выше, принимает A, B, C, которые я дал в качестве общих значений 4, 2 и 6. Мне любопытно, как изменился бы выход (var), если бы каждый из них умножался отдельно на 0,5, 1 и 1,5.
Другими словами, я бы хотел посмотреть, что произойдет, если:
- A = 2 , B = 2, C = 6
- A = 4 , B = 2, C = 6
- A = 6 , B = 2, C = 6
- A = 4, B = 1 , C = 6
- A = 4, B = 2 , C = 6
- A = 4, B = 3 , C = 6
- A = 4, B = 2, C = 3
- A = 4, B = 2, C = 6
- A = 4, B = 2, C = 9
Долгосрочная цель состоит в том, чтобы создать точечный график со средним значением 'var', равным y, и измененной переменной вдоль x, так что, возможно, конечный результат будет выглядеть следующим образом:
+-------------------+------+-----+------+
| Changed Parameter | x1.5 | x1 | x0.5 |
+-------------------+------+-----+------+
| A | 20 | 10 | 5 |
| B | 15 | 10 | 3 |
| C | 12 | 10 | 1 |
+-------------------+------+-----+------+
# NB: Numbers aren't right here, just for example #
Так что это будет случай построения графика зависимости x1 от измененного параметра с ymin = x0.5 и ymax = x1.5.
Я немного растерялся относительно того, как этого добиться, просто не меняя числа вручную. Я попытался просто ввести вектор (например, A = c (2,4,6)), но это не сработало. Я ценю, что в этом воспроизводимом примере не займет слишком много времени, чтобы просто изменить вещи вручную и записать их отдельно, но в моем реальном коде это было бы настоящим недостатком.