我正在试着想一个快速的方法来分配一些治疗I,and...honestly,我现在可以在纸上更快地完成,但是我已经越过了这条线,我不能停止,直到我弄清楚。
我想创建一个有35行的表-每行包含一个包含9个数字(介于1和12之间)的向量,但每行必须是唯一的。
我尝试了一下脑海中闪现的快速解决方案:
data.frame(replicate(9,sample(1:12,35, rep = TRUE)))但这显然不适用于我,因为"rep=TRUE“和"rep=FALSE”不能像编写的那样工作,因为样例池(1:12)。有没有办法添加make.unique来达到这个目的?
谢谢!
发布于 2019-10-08 03:34:16
假设您想要一个唯一的组合,您可以使用combn生成所有可能的组合,然后获取35个随机行的sample:
# all combos
x <- as.data.frame(t(combn(1:12, 9)))
# 35 random rows
x[sample(1:choose(12,9), 35), ]https://stackoverflow.com/questions/58275775
复制相似问题