如何从R中的向量中绘制N个随机样本?

时间:2017-02-05 03:31:54

标签: r random permutation sampling

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

我尝试了以下内容:

library(combinat)
perms <- as.data.frame(permn(1:663))

由于存在很多可能的排列,我会收到一条错误消息。

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

我也尝试过:

samples <- replicate(100, table(sample(1:663, 663,replace = F))) 

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

1 个答案:

答案 0 :(得分:2)

replicate将有效

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