fuopen

 

用R实现全排列的分类

R 其实是个很好用的东东哦~最近写了个小函数,可以实现全排列数的枚举,代码如下:

permut<-function(seq){
     seq_len=length(seq);
     if(seq_len==1){
           perseq<-seq;
     }   
     else{

          if(seq_len==2){
              perseq<-cbind(c(seq[1],seq[2]),c(seq[2],seq[1]));
          }   
          else{
              sd<-seq[-1];
              e<-permut(sd);
              perseq<-rbind(seq[1],e);
              for(i in 2:seq_len){
                  sd<-seq[-i];
                  e<-permut(sd);
                  perseq<-cbind(perseq,rbind(seq[i],e));
              }   
          }   
      }   
      perseq;
 }        

本人原创,转载请附上链接: http://www.cnblogs.com/fuopen/p/3147291.html     

posted on 2013-06-20 21:58  fuopen  阅读(1144)  评论(0)    收藏  举报

导航