- 昨日、「同じのマーカーの取り方について書いた
- とは、マーカー間の関係を数値化したものであるので、それを角度ととらえて、幾何的に考えることにする
- 球と単体とは、「相互関係がそろっている点」を扱う仕組みであるのは、こちらの記事の通りなので、それを使う
- k次元空間でk-1次元多様体であるk次元球面上の点がマーカーに相当するとする
- このとき、あるマーカーを含んだN個のマーカーが相互に等しい関係であるようにN個のマーカーを取ることを考える
- これは、あるマーカーに相当する点を頂点の一つとするk-1正単体の頂点を決めることに相当するので、がその最大個数である
- またあるマーカーと等しい関係にあるマーカーは、そのマーカーを中心としたk-1次元球面上の点に対応する
- そのようにしてとる点は、中心マーカーとの関係は同じだが、取られたマーカー同士の関係は遠近取り混ぜられている
- 以下のRのソースではgは正単体を作るマーカー、g2はそれに「中心」を置いたもの
- 以下のソースでは、染色体の本数を自然数で作るためにs,mをはじめとするパラメタの値の与え方に条件があるが、頻度でよければその制約を減らして、同様な方法でハプロタイプ頻度分布を算出することもできる
s<-2
m<-3
x<-s*m
R<-6
r<-1/R
n<-x*R
P<-3
p<-1/P
N<-P*n
center<-c(rep(0,N*p),rep(1,N*(1-p)))
g<-rbind(matrix(0,N*p,m),matrix(1,N*(1-p),m))
for(i in 1:m){
g[((i-1)*x+1):(i*x),i]<-1
g[(N-(i-1)*x):(N-i*x+1),i]<-0
center[((i-1)*x+1):((i-1)*x+s)]<-1
center[(N-(i-1)*x):(N-(i-1)*x-(s-1))]<-1
}
cor(g)
g2<-cbind(center,g)
cor(g2)