はじめに
Self-controlled case series (SCCS) の解析方法を試しはじめてしばらく時間が経過しました。その間に、このSCCSを計算するためのRのパッケージが開発されていまして、一見したところ便利そうです。とりあえず、ご多分に漏れず、このパッケージを利用して、過去にやった方法や論文1と同じ結果が得られるのか試してみました。
まずはインストール
install("SCCS")
適切なサーバーを選択してインストールが完了するのを待ちます。
読み込みます
library("SCCS")
オックスフォード伯爵のマーチ
以前Observation Islandで試したoxfordデータが,このパッケージではamdatという名前で含まれています。どんな内容か確認してみます。
amdat case sta end am mmr 1 1 366 730 398 458 2 2 366 730 399 750 3 3 366 730 413 392 4 4 366 730 449 429 5 5 366 730 455 433 6 6 366 730 472 432 7 7 366 730 474 395 8 8 366 730 485 470 9 9 366 730 524 496 10 10 366 730 700 428
以前使用したoxfordデータは次の通りです
良く似ているけど微妙に調整が必要そうです
indiv | eventday | start | end | exday |
1 | 398 | 365 | 730 | 458 |
2 | 413 | 365 | 730 | 392 |
3 | 449 | 365 | 730 | 429 |
4 | 455 | 365 | 730 | 433 |
5 | 472 | 365 | 730 | 432 |
6 | 474 | 365 | 730 | 395 |
7 | 485 | 365 | 730 | 470 |
8 | 524 | 365 | 730 | 496 |
9 | 700 | 365 | 730 | 428 |
10 | 399 | 365 | 730 | 716 |
観察の開始日
前回試したoxfordデータでは開始日が365でした。このパッケージのamdatでは366に。うるう年にかかってしまったかな?などと思うのも良いのですが、とりあえず同じデータで開始したいので、試行する間はパラメータを投入する際にこの部分を前回と同じになるように調整。具体的にはスクリプトでパラメータを与える際に、
astart=sta
と与えるべきところを
astart=sta-1
にして調整しました。
症例2のMMR接種日が前回と違う
前回試したoxfordデータでは症例10の接種日は716日目だったのが、今回パッケージ附属のamdatでは同じ症例が「症例2」になっていて,接種日が750日目になっていました。とりあえずここも、前回に合わせておきたいので
amdat[2,5] <- 716
とやります。なんだか、細かい質の部分に齟齬が残っているな。
スクリプト
上記2点の調整を含むスクリプトは次のようになります。
library("SCCS") amdat[2,5] <- 716 am.mod2 <- standardsccs(event~mmr+age, indiv=case, astart=sta-1, aend=end, aevent=am, adrug=mmr, aedrug=mmr+35, expogrp=15, agegrp=547, data=amdat) am.mod2
実行結果
解りにくいかもしれませんが、mmrのオッズ比が12.037 (95%CI, 3.00226, 48.259)となりました。
次に示すのが論文で掲載された結果です。今回の集計結果と論文の結果で、小数点以下2桁くらいまでは一致しています。誤差範囲と考えられますので、今回試したRのSCCSパッケージが思ったように機能することが確認できました。投入する前のデータさえきちんとしていたら、使えそうだという印象を持ちました。