家系データをシミュレーションで作る5

  • 5. 家系図を扱う
    • 家系図のルール
    • 両親がいて、子が生まれる
    • すべての個人をつなぐ
      • つながれていない個人の間には、個人を挿入する
    • すべての個人の親の持ち方は以下のいずれか
      • (1)両親がともにいる
      • (2)両親ともにいない
      • (3)片親のみがいる
    • 個人に番号を付ける
      • 全部でNs人の家系図
      • プログラムで取り扱うために個人に番号(ID)をつける(1,2,...,Ns)
      • 「子は親よりも大きいID」をつけることに責任を持つ(よほど複雑な家系図でない限り)
    • 親子関係を行列で表す
      • 人数分の行数x2列の行列を作る
      • 各行の第1列は父親のID、第2列は母親のIDを入れる
      • 親の不明な個人の第1・2列には、「誰でもないID=0」を入れる

http://www.genome.med.kyoto-u.ac.jp/func-gen-photo/albums/StatGenetTextbook/2-18.jpeg

# 両親と一人っ子
M.Oyako.Trio<-matrix(c(0,0,0,0,1,2),byrow=TRUE,ncol=2)
M.Oyako.Trio
# 1人とその両親とそのさらに両親
M.3gen<-matrix(c(0,0,0,0,0,0,0,0,1,2,3,4,5,6),byrow=TRUE,ncol=2)
M.3gen
# 一組のいとこ
# いとこペアの1人、その両親、その片方の両親(共有される祖父母)
# 共有された祖父母のもう一人の子、その配偶者、その子(いとこペアのもう一人)
M.cousins<-matrix(c(0,0,0,0,1,2,0,0,1,2,0,0,3,4,5,6),byrow=TRUE,ncol=2)
M.cousins 
    • 親子関係行列を見て、手描きグラフを描けるようになる
    • よく、考えると、家系図に乗せなくてもよい人がわかったりするかもしれないけれど、そういうことは「枝葉末節」を思って、今は気にしない