Фон: у меня есть функция, которая принимает некоторые параметры. Я хочу получить результат функции для всех возможных комбинаций параметров.
Упрощенный пример:
f <- function(x, y) { return paste(x, y, sep=",")}
colors = c("red", "green", "blue")
days = c("Monday", "Tuesday")
Я хочу, чтобы мой результат выглядел как
color day f
[1,] "red" "Monday" "red,Monday"
[2,] "red" "Tuesday" "red,Tuesday"
[3,] "green" "Monday" "green,Monday"
[4,] "green" "Tuesday" "green,Tuesday"
[5,] "blue" "Monday" "blue,Monday"
[6,] "blue" "Tuesday" "blue,Tuesday"
Моя идея состоит в том, чтобы создать матрицу со столбцами color
и day
, заполнить ее, используя существующие векторы colors
и days
, инициализировать пустой столбец для результатов, а затем использовать цикл для вызова f один раз на строку матрицы и запишите результат в последний столбец. Но я не знаю, как легко сгенерировать матрицу из вектора colors
и days
. Я попытался найти его, но все результаты, которые я получил, были для функции combn
, которая делает что-то другое.
В этом упрощенном случае colors
и days
являются факторами, но в моем реальном примере это не так. Некоторые из параметров функции являются целыми числами, поэтому мой реальный вектор может выглядеть больше как 1, 2, 3
, и функция будет требовать, чтобы он был передан ему как числовой. Поэтому, пожалуйста, не используйте решения, основанные на факторных уровнях, если они не могут быть использованы для работы с целыми числами.