可以使用sample函数结合apply函数将随机样本生成与输出结果的合并进行处理。如下所示:
# 假设expand.grid的结果为out
out <- expand.grid(1:3, 1:3, 1:3)
# 每个维度的大小
dim_sizes <- sapply(out, length)
# 随机抽样的大小
sample_sizes <- c(2, 2, 2)
# 对每个维度进行抽样
out_sampled <- apply(out, 2, function(x) {
sample(x, size = sample_sizes[match(length(x), dim_sizes)], replace = FALSE)
})
# 输出结果
out_sampled
执行此代码,将生成三个维度各2个元素的随机样本。