我需要生成具有特定长度的元素0或1的所有可能的向量。
例如,这里的长度是6,我需要所有向量:
(0,0,0,0,0,0),(0,0,0,0,0,1),...,(1,1,1,1,1,1)
到处搜索,我发现了一种使向量y
包含64个字符串的向量的方法"000000","000001",...,"111111"
,但是现在我不知道如何将这些字符串转换为相关向量。
x <- seq(0,2^6-1,1)
library(R.utils)
y <- inToBin(x)
编辑:我想出了如何做到这一点:
z <- matrix(NA,nrow=length(y),ncol=6)
for(i in 1:length(y)){
z[i,] <- as.numeric(strsplit(y[i],"")[[1]])
}
在expand grid
和combn
尝试构建组合的详尽的例子,当函数是你首先想到的。我想在这里您想要expand.grid
便利。
str( apply(expand.grid(0:1,0:1,0:1,0:1,0:1,0:1), 1, paste0, collapse="") )
chr [1:64] "000000" "100000" "010000" "110000" "001000" ...
但是也许你不是真的想要那个,只是想要
apply(expand.grid(0:1,0:1,0:1,0:1,0:1,0:1), 1, list)
要不就:
expand.grid(0:1,0:1,0:1,0:1,0:1,0:1)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句