Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
231 views
in Technique[技术] by (71.8m points)

R: Generating all possible combinations of 1 and 0

I am trying to generate all possible permutations of a long vector (30 elements) consisting of 0 and 1. I have tried several functions including permn and expand.grid , but none of them seems to be able to cope with this issue (due to size constraints).

Any advice would be really helpful!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

What you need is a multiset permutation.

> library(iterpc)
> I <- iterpc(c(16, 14), labels=c(0,1), ordered=TRUE)
> getlength(I)
[1] 145422675

The matrix is 145422675 by 30, too large to be stored in a single matrix. Use getnext to get the next 10000000 permutations.

> getnext(I, 10000000)

You could repeat the above 15 times in order to get all the permutations.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...