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

  • 2. 関数にする
    • 同じ処理を繰り返し使うときには、関数にする
    • 関数は、次の3つからなる
      • 入力
      • 計算
      • 出力
    • 連鎖平衡にあるマーカーの組み合わせハプロタイプを作る
      • 「連鎖平衡」
        • マーカーがDNA上で十分に遠い→組合せをランダムに作ってよい
# 入力はマーカーのアレルNaS、アレル頻度PaSと作成するハプロタイプの本数N
MakeHaplotype<-function(NaS,PaS,N){
  # haplotypeはN x length(NaS)の行列に納める
  H<-matrix(0,N,length(NaS))
  for(i in 1:length(NaS)){
    H[,i]<-sample(1:NaS[i],N,prob=PaS[[i]])
  }
  H
}
# 使ってみる
N<-2 # 一人分の2本のハプロタイプ
Haps<-MakeHaplotype(NaS,PaS,N)
Haps