Rのhaplo.statsの使い方(8)haplo.scoreの概要



  • haplo.scoreの行うこと
    • ジェノタイプデータよりハプロタイプ推定を行う
    • 推定したハプロタイプとその他の因子(フェノタイプ・ハプロタイプと無関係のジェノタイプなど)との関連をスコア統計量を用いて検定する
    • 「その他の因子」はbinomial, ordinal, quantitative(正規分布・ポワソン分布)の4通りに適用できる
    • 因子による調整(層別化)を指定できる
    • シミュレーションベースのp値を得るように方法指定することもできる
  • スコア統計量・スコア検定について

Rのhaplo.statsの使い方(9)haplo.scoreの実行



  • データの準備
    • 個人別ジェノタイプデータ・その他の個人別データ・遺伝子多型ラベルデータ
    • テキストファイルからの作成は、haplo.em, haplo.gmlとほぼ同様なので、詳しくはそちらを参照

#genotype情報の取り込み
geno<-read.table("genotype.txt",FALSE,"\t")
#多型ラベル情報も取り込む
label1<-read.table("snp.info",FALSE,"\t")
#ハプロタイプ推定用ジェノタイプ以外の情報の取り込み
data2<-read.table("data2.txt",FALSE,"\t")

  • 解析の実行
    • binomialデータの場合(値は0か1)
      • data2の第1列(data2$V1)が{0,1}の値を有するbinomialであり、これとハプロタイプとの関係を調べるとき

score.v1<-haplo.score(data2$V1,geno,trait.type="binomial",locus.label=label1$V1)

    • ordinalデータの場合(3つ以上の値にを有する列)
      • data2の第2列(data$V2)がordinalデータとしてハプロタイプとの関係を調べるとき

score.v2<-haplo.score(data2$V2,geno,trait.type="ordinal",locus.label=label1$V1)

    • 量的形質(正規分布とみなす)データの場合
      • data2の第3列(data$V3)がgauusianデータとしてハプロタイプとの関係を調べるとき

score.v3<-haplo.score(data2$V3,geno,trait.type="gaussian",locus.label=label1$V1)

    • シミュレーションベースで行うとき

#シミュレーションベースでbinomialデータについて解析を行うとき
score.v1.sim<-haplo.score(data2$V1,geno,trait.type="binomial",locus.label=label1$V1,simulate=TRUE)
#シミュレーション条件を指定するときは、score.sim.control関数を用いて指定する
score.v1.sim.cond<-haplo.score(data2$V1,geno,trait.type="binomial",locus.label=label1$V1,simulate=TRUE,sim.control=score.sim.control(min.sim=200,max.sim=500))

    • 層別化して行うとき

#層別化用のデータを作成する
#data2$V1,data2$V2とで層別化してdata2$V3について解析をする場合
adj<-cbind(data2$V1,data2$V2)
score.v3.adj<-haplo.score(data2$V3,geno,trait.type="gaussian",locus.label=label1$V1,x.adj=adj)

スコア統計量・スコア検定




スコア検定とWald,尤度比検定の違い
・Wald,尤度比検定は,MLEが求まらないと検定できない.
  MLEを求めるためには反復計算が必要
・スコア検定はH0の下でのUとIがわかれば計算できる.
・多くのモデルについての計算が必要な場合,総当り法では,スコア検定が行われる.
・スコア検定では収束しない場合でも,H0の検定が可能