用R實(shí)現(xiàn)傾向性評分匹配

幾日前,一腫瘤醫(yī)生回顧性收集了本院2008-2018年某主任主治的某癌所有病例資料,欲驗(yàn)證A方法和B方法對該種腫瘤病人生存時間的差異。嘗試匹配無果,遂來咨詢。今天就和大家一同分享臨床研究的另一利器——傾向性評分匹配。

在常規(guī)的觀察性研究和回顧性研究中,對于研究的結(jié)果變量Y,往往期望除暴露因素(X)外,病例組和對照組其它因素完全一致,以減少混雜因素或交互作用(Z,也稱協(xié)變量)造成的偏倚。熟知的隨機(jī)對照試驗(yàn)(Randomized Controlled Trial, RCT)是絕佳的研究方式。然而,受物力、財(cái)力、倫理道德等約束,實(shí)際研究中尤其是在回顧性研究中,很難做到完全隨機(jī)對照,這時就需要消除混雜因素Z的影響,常用方法有:

1)分層匹配;

2)多元回歸模型;

3)傾向性評分匹配。

當(dāng)混雜因素X較少或已明確時,可采用分層匹配。利用多元回歸模型需不斷調(diào)整混雜因素以評價X對Y的獨(dú)立作用大小。而當(dāng)混雜因素較多較復(fù)雜時,傾向性評分匹配則呈現(xiàn)出特有的優(yōu)勢。

傾向性評分匹配(Propensity Score Matching, PSM)于1983年由Paul Rosembaum和Donald Rubin首次提出,依據(jù)“反事實(shí)”(counterfactual)推斷法則,基于條件概率(z=i|X,貝葉斯概率),對實(shí)驗(yàn)組和對照組個體進(jìn)行打分(score)篩選,其分值大小代表被選入某組的概率大小,匹配概率相等或相近的個體,組成新的實(shí)驗(yàn)組和對照組,使組間混雜因素達(dá)到均衡。即組間不均衡的多個變量,通過一個綜合指標(biāo)“傾向評分”達(dá)到“降維”的效果。

PSM步驟包括:1. Preliminary analysis; 2. Estimation of Propensity Score;?3. Propensity Score Matching; 4. Outcome analysis; 5. Sensitivity analysis。PSM的具體原理、相關(guān)公式及每一步驟比較復(fù)雜,如果大家感興趣,我們可以下次再述。今天主要講述第3步Propensity Score Matching的操作步驟。

你可能會問:為什么不用臨床醫(yī)生熟用SPSS呢?

當(dāng)然可以,但是你得1.將SPSS升級到18.0以上版本;2.下載與你電腦上SPSS版本相匹配的R;3.安裝SPSS Statistics Essentials for R插件;4.下載并安裝SPSS PS Matching拓展功能。如果能順利并成功安裝的小伙伴們,就可以開心去嘗試PSM了。然而,實(shí)際情況是,安裝過程并非那么easy,很多人很可能中途就放棄了。

至于SAS,你得先在你的電腦上成功安裝好SAS并能運(yùn)行吧......

那么追求簡便不愿麻煩的我嘗試了R,如同從繁文縟節(jié)的古代穿越到了現(xiàn)代。下面我們就一同看一看這么簡單好用的R如何實(shí)現(xiàn)PSM。所有代碼如下:

mydata <- read.csv ("C:/tumor/R-data.csv")

attach (mydata)

mydata [1:20,]

m.out = matchit (radio ~ sex + age + margin + lymph + differentiated + disease + Tu + M + site + neck + targeted, method ="nearest", ratio =1)

summary (m.out)

plot (m.out, type = "jitter")

plot (m.out, type = "hist")

m.data1 <- match.data (m.out)

write.csv (m.data1, file = "C:/tumor/match_nearest.csv)

準(zhǔn)備工作:

數(shù)據(jù)清洗:將按照一定納入標(biāo)準(zhǔn)和排除標(biāo)準(zhǔn)的病例進(jìn)行編號,變量命名(英文)、賦值,切記去掉含有缺失值的病例,否則R運(yùn)行會出錯。

整理好后,將文件存為.csv格式。

安裝R:直接在官網(wǎng)下載。

安裝并加載MatchIt包:

打開R,點(diǎn)擊“程序包”-“安裝程序包”,任選一CRAN mirror“確定”-選擇“”MatchIt”-確定。點(diǎn)擊“程序包”-“加載程序包”-選擇“MatchIt”-確定。

注意:MatchIt包安裝一次就可以了,但在每次使用時需再次加載。

代碼詳解:

mydata <- read.csv ("C:/tumor/R-data.csv")

attach (mydata)

mydata [1:20,]

第一行讀取整理好的數(shù)據(jù)資料,準(zhǔn)確指向其存儲位置,即存在C盤tumor文件夾里格式為.csv的文件,文件名為R-data。

第二行確保這些數(shù)據(jù)在當(dāng)前R中可以使用。

第三行在R里顯示前20行的數(shù)據(jù),以再次檢查確認(rèn)(可以省去此步操作)。

m.out = matchit (radio ~ sex + age + margin + lymph + differentiated + disease + Tu + M + site + neck + targeted, method ="nearest", ratio =1)

使用matchit進(jìn)行匹配,分組變量radio,混雜因素變量sex,age等,與原始數(shù)據(jù)集命名的變量一致,可根據(jù)個人喜好、研究因素等等進(jìn)行命名。匹配方法采用nearest,1:1匹配。也可以根據(jù)樣本量進(jìn)行1:2,1:3匹配等,一般不超過5,直接更改ratio=后面的數(shù)字即可。

匹配方法除了nearest以外,還可以采用

Exact Matching:病例組和對照組在每一變量上精確匹配,參數(shù)值完全相同。當(dāng)協(xié)變量較多或者協(xié)變量取值范圍較大時不宜采用。(method = "exact")

Subclassification:將數(shù)據(jù)集分成子集,子集內(nèi)協(xié)變量的分布相同。(method = "subclass")

Optimal Matching:所有匹配病例之間的平均絕對距離最小,需要安裝optmatch包。(method = "optimal")

Genetic Matching:利用遺傳學(xué)計(jì)算算法匹配,需安裝Matching包。(method = "genetic")

Coarsened Exact Matching:在確保其他協(xié)變量平衡下匹配某一協(xié)變量。(method = "cem")

當(dāng)然,你可以嘗試每種匹配方法,選擇最佳匹配。

summary (m.out)

plot (m.out, type = "jitter")

plot (m.out, type = "hist")

以數(shù)字、振動圖、直方圖的形式客觀和直觀展現(xiàn)匹配前后的情況以評估匹配效果。

m.data1 <- match.data (m.out)

write.csv (m.data1, file = "C:/tumor/match_nearest.csv)

將匹配的結(jié)果輸出到match_nearest.csv文件,存儲在C盤tumor文件夾里。

至此,短短9行命令,輕松實(shí)現(xiàn)PSM。是不是躍躍欲試?

在這簡單的幾行命令里也存在不少坑,R也都有相應(yīng)提示,如果你還是無法解決的話,歡迎留言或后臺交流。

選擇R也是因?yàn)镽是一種開源軟件,任何人任何地方都可以使用,無需翻墻,也無需付費(fèi)。這并不意味著一切分析都使用R,每一種統(tǒng)計(jì)分析軟件都有各自的優(yōu)勢。掌握一定的流行病學(xué)、統(tǒng)計(jì)學(xué)知識,合理選擇統(tǒng)計(jì)方法和統(tǒng)計(jì)軟件,方可達(dá)到事半功倍的效果。

插播一條小知識:

我在命名“性別”這一變量時,突然想到gender和sex有什么區(qū)別?請教一愛丁堡大學(xué)英語專業(yè)碩士,其性別學(xué)專業(yè)的同學(xué)告知:簡單來說,sex是指生理意義上的男女(XY,XX),而gender指心理意義上的男女。這才恍然大悟,這么說來,在許多臨床試驗(yàn)或研究分析中是不是用sex更加合適?

更多內(nèi)容請關(guān)注微信公眾號:折耳根說

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容