0と1の列

  • 0と1の列を作る(こちらでは、進塁を、こちらでは組換えのために登場する(アレル数が2より大きいときには、0,1ではなくなるのだけれど、3個以上のカテゴリの情報も、高次元の0,1情報である(ryamada本なら第4章(◎4.1.5とか)を参照)ことからすれば、大きくは、話題として外れない)
  • 組換え体のように、0と1とがある程度連続した数値の列を作る
    • 連続した数値を連と呼び、それに関する検定は連検定(こちら)
L<-20
fcross<-0.1 # 交代の頻度
tmpseq<-sample(c(-1,1),L,replace=TRUE,prob=c(fcross,1-fcross))
tmpseq2<-cumprod(tmpseq)
seq<-(tmpseq2+1)/2
tmpseq
tmpseq2
seq
    • これを用いて、こちらで試した「虫の動き」に粘り(連鎖不平衡)を入れたのが、こちら
  • 長さを指定して、全順列を作る
L<-10
expand.grid(rep(list(c(0,1)),L))
  • 長さを指定して、ランダムな重複順列を作る
sample(c(0,1),L,replace=TRUE)
# N 個の重複順列を作る
N<-5
matrix(sample(c(0,1),L*N,replace=TRUE),N,L)
  • 0,1の比率を変える
prob<-c(0.1,0.9)
sample(c(0,1),L,replace=TRUE,prob=prob)
  • 実行例
> tmpseq
 [1]  1 -1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
> tmpseq2
 [1]  1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
> seq
 [1] 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

> sample(c(0,1),L,replace=TRUE)
 [1] 0 1 1 0 0 1 1 1 0 0
> N<-5
> matrix(sample(c(0,1),L*N,replace=TRUE),N,L)
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]    1    0    0    1    1    1    0    1    1     0
[2,]    1    1    1    0    0    0    1    0    1     1
[3,]    0    1    0    1    1    0    0    1    0     1
[4,]    1    0    1    0    1    0    0    1    0     1
[5,]    0    1    0    1    1    0    1    0    0     1