【发布时间】:2012-07-02 11:07:41
【问题描述】:
我正在处理一个数据集,该数据集由 ~10^6 个值组成,这些值聚集到可变数量的 bin 中。在我的分析过程中,我试图随机化我的聚类,但保持 bin 大小不变。作为一个玩具示例(在伪代码中),这看起来像这样:
data <- list(c(1,5,6,3), c(2,4,7,8), c(9), c(10,11,15), c(12,13,14));
sizes <- lapply(data, length);
for (rand in 1:no.of.randomizations) {
rand.data <- partition.sample(seq(1,15), partitions=sizes, replace=F)
}
所以,我正在寻找一个像“partition.sample”这样的函数,它将采用一个向量(如 seq(1,15))并从中随机采样,返回一个列表,其中的数据被划分为给定的正确 bin 大小已经按“尺寸”了。
我一直在尝试自己编写一个这样的函数,因为这项任务似乎并不难。但是,将向量划分为给定的 bin 大小看起来如果“在后台”完成会更快、更有效,这意味着可能不在本机 R 中。所以我想知道我是否只是错过了适当的名称功能,或者是否有人可以向我指出一个聪明的解决方案:-)
非常感谢您的帮助和时间! :-)
最好的,
莱蒙
更新:
“no.of.randomizations”是指我运行整个“随机化循环”的实际次数。稍后,这显然会包括比实际采样更多的步骤。
此外,我还对实现上述壮举的技巧感兴趣无需替换。
提前致谢,非常感谢您的帮助!
【问题讨论】:
-
您的“no.of.randomizations”的预期值(和目的)非常模糊。
-
是的,我明白了。事实上,我只是指“随机化次数”,即我通过 for 循环运行多少次以执行任何计算(包括“partition.sample”步骤)。很抱歉!
标签: r vector sample data-partitioning