ins=function(v,o)sapply(length(v):0,append,x=v,value=o)
perm=function(n){
if(n==1) as.matrix(1)
perm=function(n){
if(n==1) as.matrix(1)
else matrix(
apply(perm(n-1),2,ins,o=n)
, nrow=n
)
}
> perm(3)
[,1] [,2] [,3] [,4] [,5] [,6]}
> perm(3)
[1,]
1 1 3
2 2 3
[2,] 2 3 1 1 3 2
[3,] 3 2 2 3 1 1
Rの勉強のために順列の生成に挑戦した。悪戦苦闘の末、上のようなコードを編み出した。
サンプルとして表示しているのは1・2・3からなるすべての順列で、各列が1つ1つの順列をあらわす行列である。
[2,] 2 3 1 1 3 2
[3,] 3 2 2 3 1 1
Rの勉強のために順列の生成に挑戦した。悪戦苦闘の末、上のようなコードを編み出した。
サンプルとして表示しているのは1・2・3からなるすべての順列で、各列が1つ1つの順列をあらわす行列である。