我有一个n = 20个变量(列数)的数据帧,分布在b = 5个块(每个块4个变量)上。 我想从5个变量块中创建p = 4 随机和大小相等的变量。
我试过了:
sample (x = 1: p, size = n, replace = TRUE)
[1] 1 1 1 1 1 1 1 1 1 2 2 2 3 3 3 4 4 4 4 4
预期结果的示例(每个块5个变量):
[1] 4 1 2 1 4 2 3 1 2 3 2 1 4 3 1 2 3 3 4 4
答案 0 :(得分:0)
在下面的评论中对此进行了讨论,这是一个解决方案:
创建一个看起来像你想要的矢量,然后使用sample
通过对整个矢量进行采样而无需替换来对其进行随机排序:
p <- 4
b <- 5
sample(rep(1:p, b), size = p * b)
[1] 3 1 4 3 3 4 1 1 4 2 2 4 3 2 1 2 2 4 3 1