我有一个包含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列数据的数据框。
答案 0 :(得分:2)
replicate
将有效
a <- 1:663 #vector of 663 elements
perms <- as.data.frame(replicate(100, sample(a)))