2008年1月28日月曜日

Rで腎機能を推定

 日本腎臓学会編「CKD診療ガイド」に年齢とクレアチニン値、性別から腎臓の働きを推定する式が出ております。ここでの腎臓の働きは専門的には「糸球体濾過量」(GFR)と呼ぶものです。この GFR の推算式は酵素法の Cr 測定法による米国で考案された新しい簡易 MDRD 法に基づき(Levey A,et al. Ann Intern Med. 2006;145:247-254.)、さらに日本腎臓学会慢性腎臓病対策委員会疫学ワーキンググループで導き出した日本人の補正係数 0.741 をかけたものです。(Clinical Exp Nephrol 11,41,2007)。実際の式は下記のとおりで、
推定GFR =0.741×175×(クレアチニン値)^-1.154×(年齢)^-0.203
女性の場合、さらに0.742を掛けます。
 これをRで計算するプログラムを書いてみましょう。Rでプログラムを書くということは、関数を作ることです。関数は以下の書式で書かれます。
関数名<-function(引数1,引数2,引数3,...引数m){ 式1 式2 式3 ... 式n }
関数名をeGFR、クレアチニン値をc、年齢をa、男性の推定値をm、推定値のベクトルをestとすると、
eGFR<-function(c,a){
m<-0.741*175*c^-1.154*a^-0.203
est<-c(m,m*0.742)
est
}
となります。
 例えば、eGFR(0.92,42)で実行した結果は次のとおりです。ちなみにRという名称は、ネットで情報を探すときは苦労しますが、端末で立ち上げるときは、楽ちんです。Alt +F2で「アプリケーションの実行」からRと打てばいいだけですから。ただ、コピーは、Shift + Ctrl + C、ペーストは、Shift + Ctrl + Vになっていますから要注意です。


 次は、男性の推定値を計算する関数を作って、診療ガイドの裏表紙にあるような早見表を作ってみましょう。こういう早見表って、専門病棟でない限り、必要な時にないものです。
mGFR<-function(c,a){
m<-0.741*175*c^-1.154*a^-0.203
}
c<-seq(from=0.6,to=4.0,by=0.1)
names(c)<-c
a<-seq(from=20,to=85,by=5)
names(a)<-a
outer(c,a,FUN="mGFR")
 どうでしょう?細かい所はともかく何となく何をしているか想像がつきませんか?R言語のいいところですね。seqとかouterとかnamesとか、分からない関数が出てきたときは、help(seq)とか、?seqでヘルプ画面が表示されます。と言って解説を端折る…ヘルプ画面を去るときは、qです。まだまだ私も電卓の延長としての使い方しかできませんが、下の本をじっくり読んで精進していきます。

0 件のコメント: