Note of Pediatric Surgery

腸内細菌、R、ときどき小児外科

コホート内ケースコントロール研究: 2. コントロール群の抽出法

0. はじめに

さて、この記事ではRとパッケージ"Epi"を用いて、コホート内ケースコントロール研究の被験者を実際に抽出していきたいと思います。データ・セットはRパッケージ{Epi}の中の"diet"を使用していきます。

コホート内ケースコントロール研究についてはコチラにまとめてあります。 pediatricsurgery.hatenadiary.jp

1. インストールとデータセットの準備

Rpubsの記事を参照して日本語に訳して適宜追記しました。{Epi}と{survival}が必要になります。

# パッケージをインストール
install.packages("Epi")
install.packages("survival")

# パッケージを読み込む
library(Epi)
library(survival)

# データセット”diet"を読み込む
data(diet)

2. 各項目の詳細

  • ‘id’: subject identifier, a numeric vector.
  • ‘doe’: date of entry into follow-up study, a ‘Date’ variable.
  • ‘dox’: date of exit from the follow-up study, a ‘Date’ variable.
  • ‘dob’: date of birth, a‘Date’ variable.
  • ‘y’: - number of years at risk, a numeric vector.
  • ‘fail’: status on exit, a numeric vector (codes 1, 3, 11, and 13 represent CHD events)
  • ‘job’: occupation, a factor with levels
    • ‘Driver’
    • ‘Conductor’
    • ‘Bank worker’
  • ‘month’: month of dietary survey, a numeric vector
  • ‘energy’: total energy intake (KCal per day/100), a numeric vector
  • ‘height’: (cm), a numeric vector
  • ‘weight’: (kg), a numeric vector
  • ‘fat’: fat intake (g/day), a numeric vector
  • ‘fibre’: dietary fibre intake (g/day), a numeric vector
  • ‘energy.grp’: high daily energy intake, a factor with levels
  • ‘chd’: CHD event, a numeric vector (1=CHD event, 0=no event)

3. Nested case control studyの被験者を抽出する

# ccwc()
dietcc <- ccwc(entry    = doe,    # 追跡開始日
               exit     = dox,    # 追跡終了日
               fail     = chd,    # 追跡終了時の状態 / chdのcolumnに1 ( event ), 0 ( no event ) と記載しておく
               origin   = dob,    # 時間経過の起点日 ( 誕生日などを入れるのが一般的 )
               controls = 2,      # 1症例に対して選ぶコントロールの人数
               data     = diet,   # データフレーム
               include  = energy, # マッチング後のデータフレームに残したい変数
               match    = job,    # ケースとコントロールでを一致させるカテゴリー変数
               silent   = TRUE)

4. マッチングの結果を示す

dietcc[1:10,]
  • SetがCaseとControlの組み合わせの番号です
  • Fail=1の冠動脈疾患ありに1例対して、Fail=0の冠動脈疾患なしが2例が割り付けられていまる
    • ccwc()のcontrolで"2"と指定されているためです
  • matchで"job"が指定されている
    • CaseのjobとControlのjobが一致しているのがわかると思います