r - expand.grid 的动态参数

标签 r combinations

我正在使用 expand.grid生成向量的所有元素对,例如:

v <- 1:3
expand.grid(v,v)

这使:
  Var1 Var2
1    1    1
2    2    1
3    3    1
4    1    2
5    2    2
6    3    2
7    1    3
8    2    3
9    3    3

现在,说我想要同样的东西,但我用的是三胞胎
expand.grid(v,v,v)

我将如何将其推广到 n 元组以便我可以使用 new.expand.grid(v,5)并得到 expand.grid(v,v,v,v,v) 的结果?

最佳答案

expand.grid可以拿list作为它的输入,那么 replicate 怎么样? ?

expand.grid(replicate(3, v, simplify=FALSE))

为了好玩,作为一个函数(虽然我知道你会知道如何做到这一点):
new.expand.grid <- function(input, reps) {
  expand.grid(replicate(reps, input, simplify = FALSE))
}

new.expand.grid(c(1, 2), 4)
#    Var1 Var2 Var3 Var4
# 1     1    1    1    1
# 2     2    1    1    1
# 3     1    2    1    1
# 4     2    2    1    1
# 5     1    1    2    1
# 6     2    1    2    1
# 7     1    2    2    1
# 8     2    2    2    1
# 9     1    1    1    2
# 10    2    1    1    2
# 11    1    2    1    2
# 12    2    2    1    2
# 13    1    1    2    2
# 14    2    1    2    2
# 15    1    2    2    2
# 16    2    2    2    2

关于r - expand.grid 的动态参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19409601/

相关文章:

r - 如何在 R 中不重复地生成向量的所有可能组合?

在 Matlab 中查找具有约束的 'possible' 变量组合的算法?

python - 在 Python 中随机选择所有组合的子集

r - 使用 ggplot scale_x_datetime 的轴标签和限制

r - R中的logit函数

r - 使用 doParallel + foreach 显示 progress_bar

r - R Shiny 可以同时为两个用户显示不同的 View ,相互交互吗?

python - 查找对(连接)的组合

html - 网页抓取:网页抓取的对象与网站上的信息不匹配并导致 RStudio 崩溃

python - 有效地计算组合和排列