背景:我有一个需要一些参数的函数。我想要获得所有可能的参数组合的函数结果。
一个简化的例子:
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
and day
,使用现有向量填充它colors
and days
,为结果初始化一个空列,然后使用循环对每个矩阵行调用一次 f 并将结果写入最后一列。但我不知道如何轻松地生成矩阵colors
and days
向量。我尝试搜索它,但我得到的所有结果都是combn
函数,它做了一些不同的事情。
在这个简化的情况下,colors
and days
是因素,但在我的真实例子中,情况并非如此。该函数的一些参数是整数,所以我的真实向量可能看起来更像1, 2, 3
并且该函数将要求将其作为数字传递给它。因此,如果不能以某种方式用于处理整数,请不要使用依赖于因子级别的解决方案。