【发布时间】:2014-11-25 11:27:01
【问题描述】:
我知道函数combn 可以生成所有可能的组合。但是,如果成员总数很大,这确实很耗时,也很耗内存。
我的目标是从所有可能的组合中随机选择组合。例如,我想要 3000 个成员池中的 5000 个不同的三组成员。我想我不需要生成所有可能的组合并从中选择 5000 个。但似乎 R 没有现成的功能来执行此操作。那么如何处理这个问题呢?
【问题讨论】:
标签: r combinations
我知道函数combn 可以生成所有可能的组合。但是,如果成员总数很大,这确实很耗时,也很耗内存。
我的目标是从所有可能的组合中随机选择组合。例如,我想要 3000 个成员池中的 5000 个不同的三组成员。我想我不需要生成所有可能的组合并从中选择 5000 个。但似乎 R 没有现成的功能来执行此操作。那么如何处理这个问题呢?
【问题讨论】:
标签: r combinations
这并不完全是您所需要的,但也许它可以帮助您入门:
library(data.table) #to make the table easier
members=1:3000;
X=data.table(RUN=1:5000)
X<-X[,as.list(sample(members, 3)),by=RUN]
这将创建 3 个从成员向量中随机选择的新列。将它们视为每个成员的 ID。
我会检查一下有多少是唯一的:
X[duplicated(X, by=c('V1','V2','V3'))]
这对你有帮助吗?
【讨论】: