該項目是用於計算 2 型糖尿病風險的 R 包。該軟體包使用 QDiabetes 演算法的 R 實現,該演算法最初由 ClinRisk 使用 C++ 程式語言衍生出來。 QDiabetes 軟體包包括 QDiabetes-2013 和 QDiabetes-2018,儘管未來版本中可能會包含舊版(最終是更新版)QDiabetes。
ClinRisk 不支援或認可此程式碼。最終用戶應將原始 C++ 原始碼視為「黃金標準」開源實作。請注意, QDiabetes R 軟體包是作為僅用於科學目的的研究工具而創建的。 QDiabetes R 套裝尚未獲得藥物和保健品監管機構 (MHRA) 作為醫療器材的批准,因此不應用作任何個人化風險評估的一部分。
第一個 QDiabetes 演算法(當時稱為“QDScore”)於 2009 年發布1 。 2011年,發生了兩個重大變化,演算法允許的年齡範圍從25-79歲擴大到25-84歲,吸菸狀況變數從兩個層級[目前吸菸者和不吸菸者]擴展到五個層級[不吸菸者、戒菸者、輕度吸菸者(1-9 次/天)、中度吸菸者(10-19 次/天)和重度吸菸者(≥20 次/天)]。 2012 年,QDiabetes-2013 發布,2013 年至 2016 年演算法係數定期更新,直到 2017 年發布了更廣泛的 QDiabetes-2018 演算法2 。在此過程中的某個時刻,QDiabetes 從 2001 年湯森德剝奪數據的來源轉向了 2011 年英國人口普查的數據,然而,這種情況發生的時間點尚不清楚。目前,可以肯定的是,原始 2009 QDScore 演算法使用 2001 年英國人口普查的 Townsend 數據,而 QDiabetes-2018 使用 2011 年英國人口普查的 Townsend 數據。有關 QDiabetes-2013 和 QDiabetes-2018 中使用的變數的更多詳細信息,請參閱以下部分。
QDiabetes-2013 演算法由兩個獨立的風險預測模型(每個性別一個)組成,其中使用以下 11 個變數來計算風險:
性別[ sex
]
女—— "Female"
男—— "Male"
年齡[ age
],以年為單位
體重指數[ bmi
],單位 kg/m 2
種族[ ethn
],九類:
白色或未註明 — "WhiteNA"
印第安人— "Indian"
巴基斯坦語—— "Pakistani"
孟加拉國語 — "Bangladeshi"
黑色加勒比海— "BlackCaribbean"
非洲黑人— "BlackAfrican"
中文—— "Chinese"
其他亞洲人 — "OtherAsian"
其他族裔群體— "Other"
吸菸狀況[ smoke
],五個等級:
不吸煙者—— "Non"
前吸煙者—— "Ex"
輕度吸菸者(1-9 次/天)— "Light"
中度吸菸者(10-19 次/天)— "Moderate"
重度吸菸者(≥20/天)— "Heavy"
剝奪[ tds
],以 Townsend 分數衡量,其中數值越高表示剝奪程度越高
一級親屬有糖尿病家族史[ fhdm
]
高血壓治療史[ htn
],被診斷為高血壓並接受至少一種高血壓藥物治療
心血管疾病史[ cvd
],定義為:缺血性心臟病、中風或短暫性腦缺血發作
英國國家處方集第 6.3.2 章中列出的皮質類固醇 [ ster
]的使用史,包括口服或全身注射:潑尼松龍、倍他米松、可的松、地泊美酮、地塞米松、地夫可特、依皮質醇、氫化可的松、甲潑尼龍或曲安西龍
存活時間[ surv
],是計算 2 型糖尿病風險的時間段。
QDiabetes-2013 演算法在QDiabetes套件的QDR2013()
函數內實作。
QDiabetes-2018演算法其實是六個獨立的風險預測模型(三個子模型,按性別細分)。
基本(核心)模型「模型 A」使用與 QDiabetes-2013 相同的風險預測因子,省略了生存時間變量(支持固定的 10 年生存窗口),並添加了以下 6 個變量變量:
妊娠糖尿病史[ gdm
] (僅限女性)
多囊性卵巢症候群病史[ pcos
] (僅限女性)
學習障礙的歷史[ learn
]
精神分裂症或雙極性情感障礙病史[ psy
]
他汀類藥物的使用歷史[ stat
]
第二代「非典型」抗精神病藥物[ apsy
]的使用史,包括:氨磺必利、阿立哌唑、氯氮平、魯拉西酮、奧氮平、帕潘立酮、喹硫平、利培酮、舍吲哚和佐替平
QDiabetes-2018 演算法的模型 A 在QDiabetes套件的QDR2018A()
函數內實作。
「模型 B」使用與模型 A 相同的變量,但添加了:
空腹血糖值[ fpg
],單位 mmol/L
QDiabetes-2018 演算法的模型 B 在QDiabetes套件的QDR2018B()
函數內實作。
「模型 C」使用與模型 A 相同的變量,但添加了:
糖化血紅素 A 1c值[ hba1c
],單位為 mmol/mol
QDiabetes-2018 演算法的模型 C 在QDiabetes套件的QDR2018C()
函數內實作。
您可以使用以下指令安裝 CRAN 發布的QDiabetes版本:
install.packages(“QDiabetes”)
或者,可以使用以下命令從 GitHub 安裝開發版本:
if (!{"remotes" %in%installed.packages()}) install.packages("remotes")remotes::install_github("Feakster/qdiabetes")
在構建這個包時,我們希望製作一些易於編寫、易於維護(KISS 原則)、高性能但與最新和舊版本的 R 兼容的東西。的核心語言,使用最少的依賴項。因此,您在這裡找不到任何Rcpp 。相反,所有函數都完全用 R語言編寫;唯一的例外是getTDS()
函數,它使用stats套件中的median()
函數(儘管我們可能會在某個時候重寫它)。描述文件中「建議」下列出的所有其他套件僅用於說明QDiabetes在範例或小插圖中的使用,或在測試包中的使用。限制該套件與舊版本 R 的兼容性的主要因素是 CRAN 要求我們用於getTDS()
函數的資料幀後端的資料儲存方法。由於該物件的記憶體佔用(約200MB),我們需要利用XZ壓縮來盡可能減少套件的整體大小。 XZ 壓縮首先在 R 版本 2.10 中實作。
該套件的風險預測功能中使用的許多預設值被選擇為代表英國人口。這些值僅旨在最大限度地減少以探索性方式使用風險預測功能時所需的鍵入量。它們在研究環境中不太可能有用,您需要知道分配給所有函數參數的確切值,以便做出準確的風險預測。因此,雖然您可以通過僅指定sex
、 age
和bmi
指數從QDR2013()
和QDR2018A()
函數獲得風險預測,但您將假設白人或缺失種族、非吸煙狀態、湯森德剝奪得分為 0 ,並且完全沒有任何相關病史/病症和伴隨藥物治療。對於QDR2013()
,您也假設需要 10 年的風險視窗。
以下是一些使用QDiabetes套件的非常簡單的範例。請注意,為了方便起見,可以在此包中的任何風險預測函數中指定 BMI [ bmi
] 或身高 [ ht
] 和體重 [ wt
]。
為了讓生活變得更輕鬆,包中添加了getTDS()
輔助函數,該函數使用查找表從完整或部分英國郵政編碼獲取 Townsend 剝奪分數。
### 載入套件命名空間###library(QDiabetes)### 簡單用法###QDR2013(sex = "Female",age = 35, bmi = 25)# [1] 0.6324508QDR2018A(sex = "Male" ,年齡= 45,bmi = 35)# [1] 9.88593QDR2018B(性別= "女",年齡= 65,bmi = 30,fpg = 6)# [1] 18.43691QDR2018C(性別= "男",年齡= 25 , bmi = 40, hba1c = 42)# [1] 8.226301### 使用 getTDS() 輔助函數 ###getTDS("OX2 6GG")# [1] 2.022583QDR2013(性別 = "女性", 年齡 = 41, ht = 1.65, wt = 60, tds = getTDS("OX3 9DU"))# [1] 0.5004499QDR2018A(性別= "男", 年齡= 33, bmi = 26, tds = getTDS("OX3 7LF") )# [1] 0.6472644### 利用向量化###getTDS(c("OX3 7LF", "OX2 6NW", "OX2 6GG", "OX1 4AR"))# OX37LF OX26NW OX26GG OX14AR# -90323472. DR2013 (性別= "女", 年齡= 35, bmi = seq(20, 40, 5))# 20 25 30 35 40# 0.1801226 0.6324508 1.7885233 3.8983187 6. 75, 10), bmi = 35)# 25 35 45 55 65 75# 1.085179 2.921454 5.893499 9.082108 10.713717 9.5675165,0108(QDR,5018 3 4 5 6# 0.9123063 0.5911511 1.8416081 7.8554831 30.8096968QDR2018C(性別= "女", 年齡= 80, bmi = 28, hba1c = seq(15, 450 5, 34515) 0.008084487 0.033019655 0.121238952 0.412396004 1.320727239 4.005759509 11.409509026# ## 資料幀用法###data(dat_qdr) # 合成樣本資料## 使用基礎R ##dat_qdr[["risk"]] <- with(dat_qdr, QDR2013(sex = sex,age =age, ht) = ht、wt = wt、ethn = ethn、煙= 煙、tds = tds、htn = htn、cvd = cvd、ster = ster))## 使用dplyr ##library(dplyr)df_qdr <- as_tibble(dat_qdr)df_qdr < - df_qdr %>% 突變(風險= QDR2013(性別=性別,年齡=年齡,ht = ht,wt = wt,ethn = ethn,煙霧=煙霧,tds = tds,htn = htn,cvd = cvd,ster = ster))##使用data.table ##library(data.table)dt_qdr <- as.data.table(dat_qdr)dt_qdr[, 風險:= QDR2013(性別= 性別, 年齡= 年齡, ht = ht, wt = wt, ethn = ethn,煙=煙,tds=tds,htn=htn,cvd=cvd,ster=ster)]
請參閱 QDiabetes GitHub 儲存庫上的問題。
QRISK3:ClinRisk 的 QRISK3 風險預測演算法的 R 實作。
此計畫由美國國家衛生研究院 (NIHR) 初級保健研究學院 (SPCR) 資助 [項目編號:412]。所表達的觀點是作者的觀點,不一定是 NIHR 或衛生和社會保障部的觀點。
1:Hippisley-Cox J、Coupland C、Robson J、Sheikh A 和 Brindle P. (2009)。預測英格蘭和威爾斯 2 型糖尿病的風險:QDScore 的前瞻性推導和驗證。 BMJ 338 , b880
2:Hippisley-Cox J 和 Coupland C. (2017)。用於估計 2 型糖尿病未來風險的 QDiabetes-2018 風險預測演算法的開發和驗證:隊列研究。 BMJ 359 , j5019