如何利用R語言進(jìn)行衛(wèi)生經(jīng)濟(jì)學(xué)的成本效果分析

讀者朋友你們好啊分苇,如果你關(guān)注過之前幾期公眾號(hào)(全哥的學(xué)習(xí)生涯)的內(nèi)容医寿,你會(huì)知道我著重分享了如何利用R作meta分析的方法掏颊。而由于我本人研究方向的問題乌叶,今天這一期的內(nèi)容將以文末參考文獻(xiàn)為例准浴,向大家分享展示如何利用heemod程序包構(gòu)建Markov模型進(jìn)行成本效果分析乐横,以期為衛(wèi)生經(jīng)濟(jì)評(píng)價(jià)的讀者伙伴們提供參考與幫助。需要本文完整代碼的請(qǐng)?jiān)诠娞?hào)(全哥的學(xué)習(xí)生涯)內(nèi)留言“衛(wèi)生經(jīng)濟(jì)學(xué)評(píng)價(jià)”獲取罐农。

heemod 程序包主要開發(fā)用于衛(wèi)生經(jīng)濟(jì)學(xué)評(píng)價(jià)宰睡,包括Markov 模型的構(gòu)建、運(yùn)行和敏感性分析等气筋;與Excel 和TreeAge 等衛(wèi)生經(jīng)濟(jì)學(xué)評(píng)價(jià)的常用軟件相比拆内,基于R 進(jìn)行衛(wèi)生經(jīng)濟(jì)學(xué)研究具有開源免費(fèi)、靈活性高和圖形功能強(qiáng)大等優(yōu)勢(shì)宠默。其效果圖展示如下:


隊(duì)列人數(shù)轉(zhuǎn)移情況


成本-效果可接受曲線


概率敏感性分析圖

1. heemod 包的安裝與加載

代碼如下:

install.packages(“heemod”)

library(“heemod”)


2. Markov 模型的構(gòu)建

2.1 確定評(píng)價(jià)方案

根據(jù)實(shí)際情況明確需要進(jìn)行比較的治療方案(兩種或兩種以上)麸恍。本文進(jìn)行比較的是兩種晚期乳腺癌(advanced breast cancer,ABC)的治療方案搀矫,拉帕替尼聯(lián)合卡培他濱方案和卡培他濱單藥方案抹沪。

2.2 Markov狀態(tài)的設(shè)定

Markov狀態(tài)主要依據(jù)具體的疾病和比較的方案進(jìn)行設(shè)定,在一個(gè)周期中瓤球,模型中的患者只能處于唯一的健康狀態(tài)中权她,腫瘤疾病中常用的是含有疾病穩(wěn)定蝴罪、疾病進(jìn)展和死亡三種狀態(tài)的Markov模型,也可以根據(jù)實(shí)際情況構(gòu)建含有更多健康狀態(tài)(state)的Markov模型,包含健康狀態(tài)越多,模型越復(fù)雜疮装。本例假設(shè)模型含有疾病穩(wěn)定刷袍、治療響應(yīng)滚局、疾病進(jìn)展和死亡4 種健康狀態(tài)。

2.3 轉(zhuǎn)移概率的設(shè)定

靜態(tài)Markov模型中省骂,各個(gè)健康狀態(tài)間的轉(zhuǎn)移概率不隨時(shí)間改變而變化涨缚,此種情況下可直接定義各狀態(tài)下的轉(zhuǎn)移概率并賦值。本文研究中假設(shè)轉(zhuǎn)移概率不隨時(shí)間改變,各狀態(tài)間的轉(zhuǎn)移概率源于關(guān)于拉帕替尼的兩項(xiàng)臨床試驗(yàn)惭嚣。轉(zhuǎn)移概率的定義代碼如下:

mod_par <- define_parameters(

pSTR_comb = 0.0620,

pSTS_comb = 0.7440,

pSTP_comb = 0.1400,

pSTD_comb = 0.0540,

pSTR_mono = 0.0430,

pSTS_mono = 0.6800,

pSTP_mono = 0.2150,

pSTD_mono =0.0620,

pRTR_comb = 0.8150,

pRTP_comb = 0.1450,

pRTD_comb = 0.0400,

pRTR_mono = 0.8150,

pRTP_mono = 0.1050,

pRTD_mono = 0.0800,

pPTP_comb = 0.9070,

pPTD_comb = 0.0930,

pPTP_mono = 0.9040,

pPTD_mono = 0.0960)

上述代碼中以S表示疾病穩(wěn)定谋国,P表示疾病進(jìn)展弯洗,R表示治療響應(yīng),D表示死亡狀態(tài);以comb表示拉帕替尼和卡培他濱聯(lián)合給藥方案,mono表示卡培他濱單藥方案沪摄;pSTP_comb表示聯(lián)合給藥組從疾病穩(wěn)定狀態(tài)轉(zhuǎn)移至疾病進(jìn)展?fàn)顟B(tài)的概率哄陶,余則依次類推。

2.4 成本和健康效用值的定義

成本可根據(jù)實(shí)際情況進(jìn)行區(qū)分,如可分為藥物治療成本、住院成本等。在本例中,250 mg拉帕替尼的價(jià)格為23美元(Clapa),卡培他濱價(jià)格為1.5美元/150 mg(uS)遗座,分別定義了疾病穩(wěn)定(0.70)、治療響應(yīng)(0.84)和疾病進(jìn)展(0.50)三種狀態(tài)下的效用值。此外,因?yàn)榭ㄅ嗨麨I按照體表面積給藥,所以也設(shè)定了模擬患者的基線體表面積(body surface area代箭,BSA)杜漠,具體代碼如下:

mod_par <- modify(mod_par,cLapa = 23,cCape = 1.5,uS = 0.70,uR = 0.84,uP = 0.50,BSA = 1.72)

2.5 轉(zhuǎn)移概率矩陣

動(dòng)態(tài)Markov模型中,各狀態(tài)間的轉(zhuǎn)移概率具有時(shí)間依賴性,通常需要進(jìn)行參數(shù)生存分析以便于獲得不同時(shí)間點(diǎn)的轉(zhuǎn)移概率矩陣击碗。當(dāng)可以獲取原始生存資料時(shí)稍途,參數(shù)定義完畢后械拍,即可通過define_transition()函數(shù)定義轉(zhuǎn)移概率矩陣,具體代碼如下:

mat_comb <- define_transition(state_names = c("S", "R","P", "D"),pSTS_comb,pSTR_comb, pSTP_comb, pSTD_comb,0, pRTR_comb,pRTP_comb,pRTD_comb,0,0,pPTP_comb,pPTD_comb,0, 0, 0, 1)

mat_mono <- define_transition(state_names = c("S", "R","P", "D",pSTS_mono, pSTR_mono, pSTP_mono, pSTD_mono,0, pRTR_mono,pRTP_mono, pRTD_mono,0, 0,pPTP_mono,pPTD_mono,0, 0, 0, 1)

每一種治療方案均有各自的轉(zhuǎn)移概率矩陣坷虑,此處mat_comb代表聯(lián)合給藥方案的轉(zhuǎn)移概率矩陣猖吴,mat_mono代表單藥方案的轉(zhuǎn)移概率矩陣摔刁,通過plot()函數(shù)可繪制狀態(tài)轉(zhuǎn)移圖(State Transition Diagram),命令如下:

plot(mat_comb)

plot(mat_mono)

結(jié)果如圖1海蔽,圖2所示党窜。


圖1
圖 2

2.6 定義狀態(tài)值

定義狀態(tài)值在define_state()函數(shù)中進(jìn)行,主要定義各健康狀態(tài)下的成本和收益(效用值),如定義死亡狀態(tài)的效用值為0径簿,本例模型含有4種健康狀態(tài),因此需要分別對(duì)4種狀態(tài)下的成本和收益進(jìn)行定義因惭。具體代碼如下:

S<- define_state(cost = dispatch_strategy(comb = 5*cLapa*6*7 + BSA*2000*cCape/150*4*7,mono = BSA*2500*cCape/150*4*7),qaly = uS)

R<- define_state(cost = dispatch_strategy(comb = 5*cLapa*6*7 + BSA*2000*cCape/150*4*7,mono = BSA*2500*cCape/150*4*7),qaly = uR)

P<- define_state(cost = dispatch_strategy(comb = 3631,mono = 3823),qaly = uP)

D<- define_state(cost = 0,qaly = 0)

以上代碼中岳锁,歡迎關(guān)注公眾號(hào):全哥的學(xué)習(xí)生涯,獲取更多數(shù)據(jù)分析知識(shí)蹦魔。死亡狀態(tài)的成本和效用值設(shè)置為0激率。dispatch_strategy()函數(shù)區(qū)分同一狀態(tài)下不同治療方案的成本或效果。各個(gè)健康狀態(tài)下的成本是按照Markov周期長度計(jì)算的勿决,如原始研究根據(jù)臨床試驗(yàn)的隨訪時(shí)間將周期長度設(shè)為1.5月乒躺,計(jì)算的成本即為1.5月內(nèi)經(jīng)不同方案治療的患者在各狀態(tài)下的成本。

2.7 定義治療方案

完成以上的步驟以后低缩,即可對(duì)各治療方案進(jìn)行定義嘉冒,本例中進(jìn)行比較的方案為拉帕替尼聯(lián)合卡培他濱方案(strat_comb)和卡培他濱單藥方案(strat_mono)兩種,代碼如下:

strat_comb<- define_strategy(transition = mat_comb,S =S,R = R,P = P,D = D)

strat_mono<- define_strategy(transition = mat_mono,S = S,R = R,P = P,D =D)

3 運(yùn)行模型與結(jié)果展示

3.1 模型的運(yùn)行

完成參數(shù)咆繁、轉(zhuǎn)移概率矩陣讳推、狀態(tài)值和方案的設(shè)定后,Markov模型即構(gòu)建完成玩般,接下來就是運(yùn)行模型獲得分析結(jié)果银觅,模型運(yùn)行命令如下:

res_mod<-run_model(parameters = mod_par,comb = strat_comb,mono = strat_mono,cycles = 20,cost = cost,effect = qaly)

在run_model()函數(shù)中,可通過指定cycles參數(shù)確定循環(huán)的周期數(shù)(cycles)

3.2 模型結(jié)果的展示

模型運(yùn)行完成后壤短,可通過summary()函數(shù)查看模型運(yùn)行結(jié)果设拟,包括成本、增量成本久脯、效果纳胧、增量效果、增量成本-效果比(incremental cost-effectiveness ratio帘撰,ICER)和成本效果邊界等跑慕,結(jié)果如圖3所示。

使用plot()函數(shù)摧找,并指定type參數(shù)核行,即可生成隊(duì)列人數(shù)轉(zhuǎn)移圖和成本效果圖,命令如下:

plot(res_mod)

plot(res_mod, type = "ce")

結(jié)果分別如圖4和圖5所示.


圖 4
圖 5

圖4顯示了各健康狀態(tài)的人數(shù)隨模型周期進(jìn)行的變化情況蹬耘,模型初期芝雪,所有患者(1000人)均處于疾病穩(wěn)定狀態(tài)。圖5中默認(rèn)以成本最低的方案(單藥方案)為參照方案综苔,連線為成本效果邊界惩系,連接兩方案直線的斜率即為ICER位岔。

4.敏感性分析

4.1 單因素敏感性分析

因模型參數(shù)常存在不確定性,歡迎關(guān)注公眾號(hào):全哥的學(xué)習(xí)生涯堡牡,獲取更多數(shù)據(jù)分析知識(shí)抒抬。所以通過敏感性分析來考察不確定因素對(duì)結(jié)論的影響,敏感性分析包括單因素敏感性分析和概率敏感性分析晤柄。在單因素敏感性分析中擦剑,單一變量的取值在一定范圍內(nèi)(如95%置信區(qū)間或在基線值上下浮動(dòng)10%等)變化,其他的變量固定為基線值芥颈,以觀察單一變量值對(duì)模型結(jié)論的影響惠勒,結(jié)果通常以龍卷風(fēng)圖(tornado diagram)的形式展示,在函數(shù)define_parameters()中直接定義的參數(shù)均可以進(jìn)行敏感性分析浇借,以下為單因素敏感性分析和繪制龍卷風(fēng)圖得代碼捉撮,結(jié)果如圖6所示。


圖 6

define_dsa<- define_dsa(cLapa, 18.4, 27.6,cCape, 1.2, 1.8,BSA, 1.5, 1.9, uS, 0.63, 0.77,uR, 0.765, 0.924,uP, 0.45, 0.55)

result_dsa<- run_dsa(res_mod, dsa = def_dsa)

plot(result_dsa, result = "icer", type = "difference")

其中妇垢,cLapa為25mg拉帕替尼的成本巾遭,uS為疾病穩(wěn)定狀態(tài)健康效用值,uR為治療響應(yīng)狀態(tài)健康效用值闯估,uP為疾病進(jìn)展?fàn)顟B(tài)健康效用值灼舍,cCape為150mg卡培他濱成本,BSA為體表面積。

從龍卷風(fēng)圖中可見涨薪,拉帕替尼的成本對(duì)ICER的影響較大骑素,其次為疾病穩(wěn)定狀態(tài)、治療響應(yīng)狀態(tài)和疾病進(jìn)展?fàn)顟B(tài)的效用值刚夺,卡培他濱的價(jià)格和BSA對(duì)結(jié)果的影響較小献丑。

4.2 概率敏感性分析

概率敏感性分析中假定各變量均服從某一分布,如正態(tài)分布侠姑、對(duì)數(shù)正態(tài)分布创橄、gamma分布和beta分布等等,通過從概率分布中隨機(jī)取樣莽红,重復(fù)多次妥畏,觀察不確定性因素對(duì)模型的影響情況,概率敏感性分析和相關(guān)圖形繪制的代碼如下:

define_psa<- define_psa(cLapa ~gamma(mean = 23, sd = 5),

cCape~gamma(mean = 1.5, sd = 0.5),

BSA ~normal(mean = 1.75, sd = 0.8),

uS ~normal(mean = 0.7, sd = 0.07),

uR ~normal(mean = 0.84, sd = 0.08),

uP ~normal(mean = 0.5, sd = 0.05))

result_psa<- run_psa(res_mod, psa = def_psa, N = 1000)

plot(result_psa, type = "ce")

plot(result_psa, type = "ac")


圖 7


圖 8

可通過修改參數(shù)N調(diào)整模擬次數(shù)安吁,默認(rèn)為1000次醉蚁,當(dāng)指定type參數(shù)為“ce”時(shí),繪制增量效果為橫坐標(biāo)鬼店,增量成本為縱坐標(biāo)繪制散點(diǎn)圖(圖7)网棍,當(dāng)type=“ac”時(shí),繪制成本效果可接受曲線(圖8)妇智。

最后滥玷,如果屏幕前的你對(duì)R語言學(xué)習(xí)還有什么問題和看法捌锭,或者有什么建議,歡迎在公眾號(hào)(全哥的學(xué)習(xí)生涯)內(nèi)給我留言罗捎,或者直接添加我的個(gè)人微信(公眾號(hào)內(nèi)菜單欄”與我聯(lián)系—聯(lián)系方式“可獲得)

文中數(shù)據(jù)來源:

LE Q A, HAY J W. Cost-effectiveness analysis of lapatinib in HER-2-positive advanced breast cancer[J]. Cancer,2010,115(3):489-498.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市拉盾,隨后出現(xiàn)的幾起案子桨菜,更是在濱河造成了極大的恐慌,老刑警劉巖捉偏,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件倒得,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡夭禽,警方通過查閱死者的電腦和手機(jī)霞掺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來讹躯,“玉大人菩彬,你說我怎么就攤上這事〕碧荩” “怎么了骗灶?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長秉馏。 經(jīng)常有香客問我耙旦,道長,這世上最難降的妖魔是什么萝究? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任免都,我火速辦了婚禮,結(jié)果婚禮上帆竹,老公的妹妹穿的比我還像新娘绕娘。我一直安慰自己,他們只是感情好馆揉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布业舍。 她就那樣靜靜地躺著,像睡著了一般升酣。 火紅的嫁衣襯著肌膚如雪舷暮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天噩茄,我揣著相機(jī)與錄音下面,去河邊找鬼。 笑死绩聘,一個(gè)胖子當(dāng)著我的面吹牛沥割,可吹牛的內(nèi)容都是我干的耗啦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼机杜,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼帜讲!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起椒拗,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤似将,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蚀苛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體在验,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年堵未,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了腋舌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡渗蟹,死狀恐怖块饺,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情雌芽,我是刑警寧澤刨沦,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站膘怕,受9級(jí)特大地震影響想诅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜岛心,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一来破、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧忘古,春花似錦徘禁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至干旁,卻和暖如春驶沼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背争群。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國打工回怜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人换薄。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓玉雾,卻偏偏與公主長得像翔试,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子复旬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容