《基于流行病學研究設(shè)計的R語言實踐》一書分為十四章,以流行病學研究設(shè)計為主線展開,在R語言基本介紹的基礎(chǔ)上,詳細描述了橫斷面研究、病例對照研究、病例交叉研究、隊列研究、隨機對照試驗研究、時間序列分析、Meta分析、倍差法、孟德爾隨機化研究等常用的流行病學研究設(shè)計,同時描述了其中涉及的統(tǒng)計方法R語言代碼實現(xiàn)過程,并介紹了R語言作圖和空間制圖,可為預(yù)防醫(yī)學相關(guān)專業(yè)本科生、研究生學習以及流行病學、社會學等相關(guān)領(lǐng)域科研人員利用R語言研究醫(yī)學問題提供參考。
本書以流行病學研究設(shè)計為主線展開,在R語言基本介紹的基礎(chǔ)上詳細描述了常用的流行病學研究設(shè)計以及相應(yīng)統(tǒng)計方法的R語言代碼實現(xiàn)過程,為讀者利用R語言研究醫(yī)學問題提供參考。
R 語言作為一門統(tǒng)計學語言,一直在小眾領(lǐng)域閃耀著光芒。直到大數(shù)據(jù)的爆發(fā),R 語言變成了一把炙手可熱的數(shù)據(jù)分析利器。隨著越來越多有工程背景的人員的加入,R 語言的社區(qū)在迅速擴大成長。R 語言不僅僅在數(shù)理統(tǒng)計領(lǐng)域受到青睞,在臨床醫(yī)學、公共衛(wèi)生、教育、金融、互聯(lián)網(wǎng)等多個行業(yè)也應(yīng)用廣泛。
R 語言之所以受歡迎,有以下幾方面原因:第一,R 軟件可以在官網(wǎng)免費下載。相比于其他的統(tǒng)計軟件,如SAS、SPSS、STATA 等,R 軟件不需要任何費用,用戶可以自由地使用、復(fù)制、發(fā)布、修改源碼、補充漏洞以及按具體需求定制功能,這無疑是其最吸引人的地方。第二,R 語言擁有龐大的軟件包生態(tài)系統(tǒng),很多前沿的技術(shù)、先進的模型等都會迅速地在R 軟件中以程序包的形式出現(xiàn),供大家學習使用。如果某項統(tǒng)計技術(shù)已經(jīng)存在,那么幾乎必然存在著一款R 軟件包與之對應(yīng)。第三,R 語言的界面比較友好,相對簡單易學,為創(chuàng)建可重復(fù)及高質(zhì)量的分析提供了有利條件。此外,R 軟件保留了運算的代碼,修改后可重復(fù)使用,大大降低了撰寫語言代碼的時間成本。第四,R 語言在繪圖及數(shù)據(jù)可視化方面具有強大的功能。R 語言有一個非常強大的數(shù)據(jù)可視化寶庫,可以做出許多精美的圖形。在大數(shù)據(jù)時代的今天,R 語言將會發(fā)揮越來越重要的作用,特別是在醫(yī)療、公共衛(wèi)生領(lǐng)域。
近年來,公共衛(wèi)生和健康醫(yī)療大數(shù)據(jù)迅猛發(fā)展,相關(guān)人才的需求也日趨緊迫,全國高校中,相關(guān)專業(yè)建設(shè)不斷升溫。這些大數(shù)據(jù)技術(shù)應(yīng)用的背后均存在著一個學科的框架指導,那就是流行病學?傮w而言,任何健康醫(yī)療大數(shù)據(jù)的構(gòu)建、數(shù)據(jù)分析的理論和模型的建立及應(yīng)用,其起點應(yīng)是提出要解決什么科學問題,而醫(yī)療衛(wèi)生科學問題的提出是流行病學的范疇。流行病學研究設(shè)計之于健康醫(yī)療大數(shù)據(jù),就好比建筑設(shè)計圖紙與建筑材料的關(guān)系。
近年來,筆者在與醫(yī)療衛(wèi)生領(lǐng)域相關(guān)專業(yè)技術(shù)人員交流中發(fā)現(xiàn),目前在公共衛(wèi)生監(jiān)測、健康醫(yī)療大數(shù)據(jù)、流行病學數(shù)據(jù)統(tǒng)計整理和分析中存在很多短板,而這些短板歸結(jié)起來就是流行病學設(shè)計和統(tǒng)計分析的脫節(jié),例如數(shù)據(jù)采集缺乏宏觀流行病學思維的指導,數(shù)據(jù)分析中統(tǒng)計分析、模型應(yīng)用不規(guī)范等。如何破局?通過與諸多業(yè)內(nèi)同行的多次交流,結(jié)合自己團隊的經(jīng)驗,我們認為R 語言結(jié)合流行病學設(shè)計是一個可以很好解決兩者脫節(jié)問題的出路,這也是籌劃撰寫本書的初衷。
因此,本書以流行病學研究設(shè)計為主線展開,在R 語言基本介紹的基礎(chǔ)上,詳細描述了包含橫斷面研究、病例對照研究、隊列研究、隨機對照試驗研究、Meta 分析等常用的流行病學研究設(shè)計思路和分析方法,同時涉及雙重差分法、孟德爾隨機化等流行病學因果推斷方法,并描述了其中涉及的統(tǒng)計方法的R 代碼實現(xiàn)過程,既不晦澀,也非淺白,向讀者打開了一扇利用R 語言研究醫(yī)學問題的窗。
書中難免有不當之處,敬請各位專家和讀者指正。
林華亮
2024 年5 月
林華亮,教授、博士生導師,中山大學公共衛(wèi)生學院院長助理、流行病學系主任。先后獲得中山大學百人計劃中青年杰出人才、廣東省杰出青年醫(yī)學人才等稱號,入選全球頂尖前10萬科學家排名榜。長期從事大氣污染及其與基因易感性交互作用在慢性病發(fā)生發(fā)展中的作用研究,并提出了大氣污染控制濃度閾值的新方法。
第一章 R 語言概述 / 1
一、 R 軟件及RStudio 軟件的獲取和安裝 / 1
二、 RStudio 軟件界面和功能介紹 / 3
三、 R 語言的使用規(guī)則簡介 / 5
第二章 數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)管理/ 9
第一節(jié) 常見的數(shù)據(jù)類型 / 9
第二節(jié) 數(shù)據(jù)的基本結(jié)構(gòu) / 10
一、 向量 / 10
二、 矩陣 / 10
三、 數(shù)組 / 11
四、 數(shù)據(jù)框 / 12
五、 因子 / 15
六、 列表 / 15
第三節(jié) 數(shù)據(jù)的導入與保存 / 17
一、 數(shù)據(jù)導入 / 17
二、 數(shù)據(jù)保存 / 21
第四節(jié) 數(shù)據(jù)的初步操作 / 22
一、 數(shù)據(jù)的整合、重塑與合并 / 22
二、 定義數(shù)據(jù)分組 / 28
三、 從數(shù)據(jù)中抽取子集 / 28
第五節(jié) 數(shù)據(jù)的管理和基礎(chǔ)應(yīng)用 / 30
一、 獲取數(shù)據(jù)集中變量的名稱 / 30
二、 創(chuàng)建新的變量 / 31
三、 變量的重命名 / 32
四、 缺失值的發(fā)現(xiàn)與處理 / 33
五、 數(shù)據(jù)排序 / 34
六、 數(shù)據(jù)類型的轉(zhuǎn)換 / 34
七、 數(shù)據(jù)描述 / 35
第六節(jié) 大數(shù)據(jù)分析 / 36
一、 創(chuàng)建data/table / 36
二、 設(shè)置主鍵 / 36
三、 查看數(shù)據(jù) / 37
四、 提取數(shù)據(jù)集 / 38
五、 數(shù)據(jù)整理 / 38
第七節(jié) R 語言自帶的數(shù)據(jù)集 / 40
第三章 基本統(tǒng)計分析/ 43
第一節(jié) t 檢驗 / 43
一、 單樣本t 檢驗 / 43
二、 配對t 檢驗 / 44
三、 兩獨立樣本均數(shù)比較的t 檢驗 / 45
四、 小結(jié) / 47
第二節(jié) 方差分析 / 47
一、 完全隨機設(shè)計的方差分析 / 47
二、 隨機區(qū)組設(shè)計的方差分析 / 49
三、 小結(jié) / 50
第三節(jié) 2 檢驗 / 50
一、 22 交叉表數(shù)據(jù)的2 檢驗 / 50
二、 RC 交叉表數(shù)據(jù)的2 檢驗 / 51
三、 配對設(shè)計數(shù)據(jù)的2 檢驗 / 52
四、 2 檢驗的校正 / 52
五、 小結(jié) / 53
第四節(jié) 秩和檢驗 / 53
一、 配對設(shè)計資料的符號秩和檢驗 / 54
二、 兩組獨立樣本比較的Mann-Whitney 檢驗/ 55
三、 多組獨立樣本比較的Kurskal-Wallis 檢驗 / 56
四、 小結(jié) / 57
第五節(jié) 相關(guān)分析 / 57
一、 簡單相關(guān)分析 / 57
二、 偏相關(guān) / 59
三、 相關(guān)關(guān)系的可視化 / 60
四、 小結(jié) / 62
第六節(jié) 回歸分析 / 62
一、 簡單線性回歸 / 62
二、 多項式回歸 / 65
三、 多重線性回歸 / 67
四、 Logistic 回歸 / 70
五、 泊松回歸 / 75
六、 小結(jié) / 77
第四章 橫斷面研究/ 78
第一節(jié) 橫斷面研究資料的描述 / 78
一、 案例分析 / 79
二、 小結(jié) / 82
第二節(jié) 多重線性回歸 / 82
一、 多重線性回歸分析 / 83
二、 小結(jié) / 86
第三節(jié) 二分類變量的Logistic 回歸 / 86
一、 二分類Logistic 回歸分析 / 87
二、 小結(jié) / 90
第四節(jié) 無序多分類變量的Logistic 回歸 / 90
一、 無序多分類Logistic 回歸分析 / 90
二、 小結(jié) / 91
第五節(jié) 有序多分類變量的Logistic 回歸 / 92
一、 有序多分類變量的Logistic 回歸分析 / 92
二、 小結(jié) / 94
第六節(jié) 交互作用分析 / 95
一、 多重線性回歸模型中的交互作用分析 / 95
二、 廣義線性回歸模型中的交互作用分析 / 97
三、 小結(jié) / 99
第五章 病例對照研究/ 101
第一節(jié) 概述 / 101
一、 基本概念 / 101
二、 基本特點 / 101
三、 研究類型 / 101
四、 病例對照研究的衍生設(shè)計 / 102
五、 用途 / 103
第二節(jié) 資料分析方法與案例分析 / 103
一、 資料分析方法 / 103
二、 案例分析 / 105
第六章 病例交叉設(shè)計/ 124
第一節(jié) 概述 / 124
第二節(jié) 時間分層病例交叉設(shè)計 / 125
一、 案例分析 / 125
二、 小結(jié) / 131
第三節(jié) 時間分層病例交叉設(shè)計結(jié)合分布滯后非線性模型 / 132
一、 案例分析 / 132
二、 小結(jié) / 134
第四節(jié) 基于個體的時間分層病例交叉設(shè)計 / 134
一、 案例分析 / 135
二、 小結(jié) / 137
第七章 隊列研究/ 139
第一節(jié) 隊列研究中的生存分析 / 139
一、 基本概念 / 139
二、 生存數(shù)據(jù)案例 / 140
三、 使用R 軟件進行生存分析 / 141
第二節(jié) 中介效應(yīng)分析 / 157
一、 中介效應(yīng)分析的基本原理和步驟 / 157
二、 中介效應(yīng)分析在R 語言中的實現(xiàn) / 158
第八章 隨機對照試驗研究/ 160
第一節(jié) 概述 / 160
一、 定義和基本原理 / 160
二、 試驗設(shè)計關(guān)鍵點和常見設(shè)計方案 / 160
第二節(jié) 資料整理與分析 / 162
一、 資料的整理 / 162
二、 資料的分析 / 162
三、 結(jié)果輸出 / 163
第三節(jié) 案例分析 / 163
一、 數(shù)據(jù)描述與預(yù)處理 / 163
二、 預(yù)分析與生存曲線 / 166
三、 Cox 比例風險回歸 / 168
四、 亞組分析及比較 / 172
第九章 時間序列分析/ 178
第一節(jié) 時間序列的基本概念和特點 / 178
一、 案例分析 / 178
二、 小結(jié) / 190
第二節(jié) 缺失數(shù)據(jù)的填補 / 191
一、 案例分析 / 191
二、 小結(jié) / 196
第三節(jié) 廣義相加模型及其應(yīng)用 / 196
一、 案例分析 / 196
二、 小結(jié) / 204
第四節(jié) 分布滯后非線性模型及應(yīng)用 / 204
一、 案例分析 / 205
二、 小結(jié) / 208
第十章 Meta 分析 / 209
第一節(jié) 單因素Meta 分析 / 209
一、 單因素Meta 分析概述 / 209
二、 案例分析 / 210
三、 小結(jié) / 218
第二節(jié) 多因素Meta 分析 / 218
一、 多因素Meta 分析概述 / 218
二、 案例分析 / 219
三、 小結(jié) / 224
第三節(jié) Meta 回歸分析/ 224
一、 Meta 回歸分析概述/ 224
二、 案例分析 / 225
三、 小結(jié) / 230
第十一章 R 語言作圖 / 231
第一節(jié) plot 基本作圖/ 231
一、 展開空白畫布 / 232
二、 描繪平面直角坐標系 / 232
三、 繪制點圖 / 233
四、 繪制線圖 / 234
五、 改變圖形元素 / 234
六、 添加文本信息 / 237
七、 頁面布局與圖形組合 / 240
第二節(jié) ggplot2 基本作圖/ 242
一、 散點圖 / 242
二、 直方圖 / 244
三、 箱線圖 / 245
第三節(jié) ggplot2 進階/ 247
一、 坐標軸 / 247
二、 圖例 / 248
三、 分面 / 251
四、 主題 / 252
五、 圖案拼接 / 255
六、 儲存與導出 / 262
第十二章 R 語言中的空間數(shù)據(jù) / 263
第一節(jié) 空間數(shù)據(jù)基本概念 / 263
一、 矢量數(shù)據(jù) / 263
二、 柵格數(shù)據(jù) / 265
三、 空間坐標參考系 / 267
四、 空間數(shù)據(jù)處理常用包 / 268
五、 小結(jié) / 269
第二節(jié) 空間數(shù)據(jù)操作 / 269
一、 空間數(shù)據(jù)的讀寫 / 269
二、 矢量數(shù)據(jù)操作 / 271
三、 柵格數(shù)據(jù)操作 / 273
四、 小結(jié) / 286
第十三章 倍差法在R 語言中的應(yīng)用 / 287
第一節(jié) 倍差法概述 / 287
第二節(jié) 案例分析 / 288
第十四章 孟德爾隨機化/ 294
第一節(jié) 概述 / 294
一、 孟德爾隨機化的概念 / 294
二、 孟德爾隨機化的統(tǒng)計學方法 / 294
三、 孟德爾隨機化的設(shè)計類型 / 295
四、 孟德爾隨機化存在的問題 / 295
第二節(jié) 孟德爾隨機化分析軟件及分析過程 / 296
一、 單樣本孟德爾隨機化 / 296
二、 兩樣本孟德爾隨機化 / 299
參考文獻/ 306