R语言 如何得到每位数字均为1或0的八位向量的全部组合?

举个例子 x <- c(0,1,0,0,0,1,0,0),除了全为0这种情况,要得到所有其他255种组合

实际上是一个二进制的实现
biset<-function(n){
one<-c(rep(0,n-1),1)
result<-one
final<-vector()
for(i in 1:(2^n-2)){
result<-result+one
while(sum(result==2)>0){
id<-which(result==2)
result[id-1]<-result[id-1]+1
result[id]<-0
}
final<-rbind(final,result)
}
dimnames(cc)[[1]]=NULL
return(rbind(one,final))
}

然后在控制台输入 >biset(8)
温馨提示:答案为网友推荐,仅供参考
相似回答