如何从R中的向量中抽取N个随机样本?

RTr*_*n3k 5 random r permutation sampling

我有一个包含 663 个元素的向量。我想从等于向量长度(即 663)的向量中创建随机样本。换句话说,我想从 663 个元素的所有可能排序中随机抽取样本。我的目标是创建 N 个随机样本或随机选择的排列的数据框。

我尝试了以下方法:

library(combinat)
perms <- as.data.frame(permn(1:663))
Run Code Online (Sandbox Code Playgroud)

由于有这么多可能的排列,我会收到一条错误消息。

我的下一个想法是创建一个数据框,其行数与我想要的样本/排列一样多,变量与元素一样多(即 663),并使用像sapply()with sample(). 但是,我认为这种方法效率不高。

我也试过:

samples <- replicate(100, table(sample(1:663, 663,replace = F))) 
Run Code Online (Sandbox Code Playgroud)

但我只得到一个包含 100 列的数据框。

小智 7

replicate将工作

a <- 1:663 #vector of 663 elements
perms <- as.data.frame(replicate(100, sample(a)))
Run Code Online (Sandbox Code Playgroud)