我想要做的是在给定特定样本大小的情况下生成1和0的所有可能排列.例如,对于n = 8的样本,我希望m = 2 ^ 8 = 256种可能的排列,即:
我一直在用R做这个,但它很慢.有没有快速的方法在Julia编程语言中执行此操作?
我正在尝试生成序列:
1,301,2,302,3,303,4,304 ... 300,600
Run Code Online (Sandbox Code Playgroud)
在R.有一个快速简单的方法来做到这一点,而不使用for循环?
我试图做的是在给定特定样本大小的情况下生成1和0的所有可能排列。例如,对于一个n = 8的样本,我希望m = 2 ^ 8 = 256个可能的排列,即:
我已经在R中编写了一个函数来执行此操作,但是在n = 11之后,需要很长时间才能运行。我更喜欢R中的解决方案,但是如果它是另一种编程语言,则可能可以解决。谢谢!
PermBinary <- function(n){
n.perms <- 2^n
array <- matrix(0,nrow=n,ncol=n.perms)
# array <- big.matrix(n, n.perms, type='integer', init=-5)
for(i in 1:n){
div.length <- ncol(array)/(2^i)
div.num <- ncol(array)/div.length
end <- 0
while(end!=ncol(array)){
end <- end +1
start <- end + div.length
end <- start + div.length -1
array[i,start:end] <- 1
}
}
return(array)
}
Run Code Online (Sandbox Code Playgroud)