实验室测量的Z(log)转换

介绍

这个zlog公司该软件包提供将实验室测量转换为标准化的功能\(z)\(z(log)\)-中建议的值霍夫曼等人(2017)因此需要参考下限和上限。如果不知道这些,可以从给定的样本中进行估计。

Z或Z(对数)变换

霍夫曼等人(2017)定义\(z)如下:

\[z=(x-(极限_1+极限_2)/2)*3.92/(极限_2-极限_1)\]

因此\(z(log)\)定义为:

\[zlog=(\log(x)-(\log(limits_1)+\log

在哪里?\(x \)是测量的实验室值\(极限_1\)\(限制2\)分别为参考下限和参考上限。

示例数据和参考限值来自霍夫曼等人(2017),表2。

图书馆(“zlog”)

白蛋白<- c(c)(42,34,38,43,50,42,27,31,24)
z(白蛋白,限制= c(c)(35,52))
## [1] -0.345876 -2.190548 -1.268212 -0.115292  1.498796 -0.345876 -3.804636## [8] -2.882300 -4.496388
zlog公司(白蛋白,限制= c(c)(35,52))
## [1] -0.15472223 -2.24698167 -1.14569028  0.07826303  1.57162335 -0.15472223## [7] -4.52949253 -3.16160843 -5.69571148

反转Z或Z(对数)变换/撤消变换

伊兹洛格(zlog公司(白蛋白,限制= c(c)(35,52)),限制= c(c)(35,52))
## [1] 42 34 38 43 50 42 27 31 24

Z(log)相关颜色渐变

霍夫曼等人(2017)建议使用颜色梯度为用户可视化实验室测量。

它可以用于突出显示表中的值:

表转载自霍夫曼等人(2017),表2,使用限值:白蛋白35-52 g/l,胆红素2-21µmol/l。
类别 白蛋白 zlog(白蛋白) 胆红素 zlog(胆红素)
献血者 42 -0.15 11 0.88
献血者 34 -2.25 9 0.55
献血者 38 -1.15 2 -1.96
无肝硬化肝炎 43 0.08 5 -0.43
无肝硬化肝炎 50 1.57 22 2.04
无肝硬化肝炎 42 -0.15 42 3.12
肝硬化肝炎 27 -4.53 37 2.90
肝硬化肝炎 31 -3.16 200 5.72
肝硬化肝炎 24 -5.70 20 1.88

估算参考限值

这个参考_限制函数计算下限和上限2.5或97.5(或用户给定的概率)分位数:

参考_限制(白蛋白)
##下部上部##  24.6  48.6
参考_限制(白蛋白,问题= c(c)(0.05,0.95))
##下部上部##  25.2  47.2
经验(参考_限制(日志(白蛋白))
##下部上部## 24.57207 48.51429

使用参考表

大多数实验室使用自己的年龄和性别参考限值。这个查找限制函数可用于找到正确的参考极限。

#玩具示例
参考<- 数据帧(
    参数= c(c)(“白蛋白”,代表(“胆红素”,4)),
    年龄= c(c)(0,1,2,,7),#天
    性= “两者”,
    单位= c(c)(“克/升”,代表(“µmol/l”,4)),#忽略
    较低= c(c)(35,代表(不适用,4)),#无实际参考值
    上部= c(c)(52,5,8,13,18)#无实际参考值
)
针织物::卡布尔的(参考)
参数 年龄 单位 降低 上面的
白蛋白 0 二者都 克/升 35 52
胆红素 1 二者都 微摩尔/升 不适用 5
胆红素 2 二者都 微摩尔/升 不适用 8
胆红素 二者都 微摩尔/升 不适用 13
胆红素 7 二者都 微摩尔/升 不适用 18
#查找18岁女性的白蛋白参考值
查找限制(
    年龄= 18 * 365.25,
    性= “女性”,
    表格=参考[参考$参数==“白蛋白”,]
)
##下部上部##白蛋白35 52
#查找18岁女性的白蛋白和胆红素值
查找限制(
    年龄= 18 * 365.25,
    性= “女性”,
    表格=参考
)
##下部上部##白蛋白35 52##胆红素NA 18
#查找婴儿胆红素参考值
查找限制(
    年龄= 0:8,
    性= 代表(c(c)(“女性”,“男性”),5:4),
    表格=参考[参考]$参数==“胆红素”,]
)
##下部上部##胆红素NA NA##胆红素NA 5##胆红素NA 8##胆红素NA 13##胆红素NA 13##胆红素NA 13##胆红素NA 13##胆红素NA 18##胆红素NA 18

缺少参考限值

有时未规定参考限值。与感染或癌症相关的生物标志物通常就是这样。使用零作为下边界会导致歪斜分布(霍夫曼等人,2017年,图7).Haeckel等人(2015)建议将参考下限设置为上限的15%。

#使用默认分数
设置丢失限制(参考)
##准年龄性别单位上下##1白蛋白0两种g/l 35.00 52##2胆红素1均µmol/l 0.75 5##3胆红素2均µmol/l 1.20 8##4胆红素3均µmol/l 1.95 13##5胆红素7均µmol/l 2.70 18
#手动设置分数
设置丢失限制(参考,分数= c(c)(0.2,5))
##准年龄性别单位上下##1白蛋白0两种g/l 35.0 52##2胆红素1均为µmol/l 1.0 5##3胆红素2均为µmol/l 1.6 8##4胆红素3均µmol/l 2.6 13##5胆红素7均µmol/l 3.6 18

计算缺失的实验室测量值

如果缺少实验室测量,可以使用“正常”参考表中的值。使用“对数平均值”(默认)或“意思是”参考值(默认值)将导致\(zlog\)\(z)-值分别为零。

x个<- 数据帧(
    年龄= c(c)(40,50),
    性= c(c)(“女性”,“男性”),
    白蛋白= c(c)(42,不适用)
)
x个
##年龄性别白蛋白##1 40女42##2 50公NA
z数据流(插补df(x,参考,方法= “意思是”),参考)
##年龄性别白蛋白##1 40名女性-0.345876##2 50男0.000000
z日志df(插补df(x,参考),参考)
##年龄性别白蛋白##1 40女-0.1547222##2 50男0.0000000

中国人民银行例子

为了演示,我们选择中国人民银行数据集来自生存包装并排除所有非实验室测量年龄:

图书馆(“生存”)
数据(“中国人民银行”)
实验室<- c(c)(
    “比利”,“chol”,“白蛋白”,“铜”,“alk.phos”,“上一次”,“三角”,
    “血小板”,“临时”
)
中国人民银行<- 人民银行[,c(c)(“年龄”,“性爱”,实验室)]
针织物::卡布尔的((pbc),数字= 1)
年龄 胆汁酸 焦耳 白蛋白 碱性磷酸酶 ast公司 三角(trig) 血小板 伪卫星
58.8 (f) 14.5 261 2.6 156 1718 137.9 172 190 12.2
56.4 (f) 1.1 302 4.1 54 7394.8 113.5 88 221 10.6
70.1 1.4 176 3.5 210 516 96.1 55 151 12
54.7 (f) 1.8 244 2.5 64 6121.8 60.6 92 183 10.3
38.1 (f) 3.4 279 3.5 143 671 113.2 72 136 10.9
66.3 (f) 0.8 248 4 50 944 93 63 不适用 11

接下来,我们根据数据估计所有参考限值。我们希望使用铜和天冬氨酸转氨酶的性别特异性值(“ast”).

##复制cuper和ast两次,其他只使用一次
参数<- 代表(实验室,如果不是这样(实验室%单位:% c(c)(“铜”,“ast”),2,1))
性<- 代表(_L)(“两者”,长度(参数))

##将sex==替换为cu和ast的雌性和雄性
性别[参数%单位:% c(c)(“铜”,“ast”)] <- c(c)(“f”,“m”)

##创建data.frame,我们暂时忽略特定年龄的值,并将年龄设置为零
##(指适用于所有年龄段的人)
参考<- 数据帧(
    参数=参数,年龄= 0,性=性别,较低= 不适用,上部= 不适用
)

##从样本数据估计参考限
对于(i)在里面 seq_len(nrow公司(参考)){
参考[i,c(c)(“较低”,“上部”)] <-
        如果(参考$性别[i]==“两者”)
            参考_限制(中国人民银行[参考$参数[i]])
        其他的
            参考_限制(中国人民银行$== 参考$性别[i],参考$参数[i]])
}
针织物::可操作的(参考)
参数 年龄 降低 上面的
胆汁酸 0 二者都 0.4000 17.3150
焦耳 0 二者都 174.0750 1086.2250
白蛋白 0 二者都 2.5400 4.2200
0 (f) 12.8250 269.2750
0 23.5000 388
碱性磷酸酶 0 二者都 504.7500 9261.7400
ast公司 0 (f) 49.6000 249.7438
ast公司 0 55.4775 208.3350
三角(trig) 0 二者都 52.0250 279.8000
血小板 0 二者都 95 470.4000
伪卫星 0 二者都 9.5000 13.1625

这个中国人民银行数据集包含一些缺少的值。我们用相应的平均参考值(在本例中仅为样本平均值,但在现实生活中为健康亚群的平均值)对进行插补。

中国人民银行[c(c)(6,14),]
##年龄性别胆红素白蛋白铜碱性磷酸酶ast三联血小板蛋白##6 66.25873转0.8 248 3.98 50 944 93 63 NA 11##14 56.22177米0.8北美2.27 43 728 71北美156 11
中国人民银行<- 插补df(pbc,参考)
中国人民银行[c(c)(6,14),]
##年龄性别胆红素白蛋白铜碱性磷酸酶ast三联血小板##6 66.25873转0.8 248.0000 3.98 50 944 93 63.000 211.3954##14 56.22177米0.8 434.8386 2.27 43 728 71 120.6507 156.0000##伪卫星## 6       11## 14      11

随后,我们可以将实验室测量值转换为\(z(log)\)-值使用z日志df应用zlog公司对于每个数字中的列数据帧(除了“年龄”列):

中国人民银行<- z日志df(pbc,参考)
年龄 胆汁酸 焦耳 白蛋白 碱性磷酸酶 ast公司 触发器 血小板 伪卫星
58.8 (f) 1.8 -1.1 -1.8 1.3 -0.3 0.5 0.8 -0.3 1
56.4 (f) -0.9 -0.8 1.8 -0.1 1.7 0 -0.7 0.1 -0.6
70.1 -0.7 -1.9 0.5 1.1 -1.9 -0.3 -1.8 -0.8 0.8
54.7 (f) -0.4 -1.2 -2.0 0.1 1.4 -1.5 -0.6 -0.4 -1.0
38.1 (f) 0.3 -1.0 0.6 1.1 -1.6 0 -1.2 -1.1 -0.3
66.3 (f) -1.2 -1.2 1.5 -0.2 -1.1 -0.4 -1.5 0 -0.2
55.5 (f) -1.0 -0.6 1.7 -0.2 -1.3 -1.5 1.3 -0.1 -1.7
53.1 (f) -2.3 -0.9 1.5 -0.2 1 -3.3 1 1.4 -0.2
42.5 (f) 0.2 0.5 -0.5 0.4 0.1 0.6 -0.7 0.4 -0.2
70.6 (f) 1.6 -1.7 -1.4 1.1 -1.2 0.7 0.4 0.9 0.3
53.7 (f) -0.7 -1.1 1.8 -0.3 -0.9 -0.8 -1.0 0.5 0.8
59.1 (f) 0.3 -1.3 0.6 0.6 -1.7 -0.7 -0.6 -2.7 2.4
45.7 (f) -1.4 -0.9 1.3 -0.5 -0.8 -0.6 0.2 0.4 -0.6
56.2 -1.2 0 -2.8 -1.1 -1.5 -1.2 0 -0.7 -0.2
64.6 (f) -1.2 -1.4 1.3 1.4 1.9 0.3 -0.5 0.8 -0.2
40.4 (f) -1.4 -1.6 0.9 -1.0 -1.5 -1.0 -1.7 -0.2 -0.4
52.2 (f) 0 -1.0 -0.3 1.3 -0.5 0.1 0.1 0.1 -0.8
53.9 (f) 1.5 -1.9 -1.2 3 -1.1 2.2 1.2 0.7 1.2
49.6 (f) -1.4 -1.3 0.6 -0.5 -0.2 -0.4 0 -0.0 -0.2
60 (f) 0.7 -0.3 0.5 1.1 -0.2 0.2 0.3 1 1.8
64.2 -1.5 -1.2 1.2 -1.2 -1.3 -1.5 -0.9 1.1 0.2
56.3 (f) 0.3 -1.0 0.8 2.7 -0.6 0.2 -1.8 -0.5 0.4
56 (f) 2 -0.2 -0.8 2.9 1.4 1.7 1.1 0 0.5
44.5 -0.2 0.1 1.5 0.4 1.3 2.1 1.5 -2.7 -1.5
45.1 (f) -1.4 -0.8 1.7 -0.5 -1.6 -0.1 -1.4 1 0.1

会话信息

sessionInfo(会话信息)()
##R版本4.2.2(2022-10-31)##平台:x86_64-pc-linux-gnu(64-bit)##运行于:Debian GNU/Linux 11(牛眼)## ##矩阵产品:默认##BLAS:/usr/lib/x86_64-linux-gnu/BLAS/libblas.so.3.9.0##LAPACK:/usr/lib/x86_64-linux-gnu/LAPACK/liblapack.so.3.9.0## ##区域设置:##[1]LC_CTYPE=de_de.UTF-8 LC_NUMERIC=C##[3]LC_TIME=de_de.UTF-8 LC_COLLATE=C##[5]LC_MONETARY=de_de.UTF-8 LC_MESSAGES=de_de.UTF-8##[7]LC_PAPER=de_de.UTF-8 LC_NAME=C##[9]LC_ADDRESS=C LC_TELEPHONE=C##[11]LC_MEASUREMENT=de_de.UTF-8 LC_IDENTIFICATION=C(LC_MEASUREMENT=de_de.UTF-8 LC_IDENTIFICATION=C)## ##附加的基本包:##[1]stats graphics grDevices utils datasets方法库## ##其他附加包:##[1]生存_3.2-7 zlog_1.0.2## ##通过命名空间加载(未附加):##[1]bslib_0.4.2编译器.4.2.2 jquerylib_0.1.4高r_0.10##[5]工具.4.2.2摘要_0.6.31晶格_0.20-41 jsonlite_1.8.4##[9]评估_0.19生命周期_1.0.3绿色Lite_0.4.1 rlang_1.0.6##[13]矩阵_1.5-3 cli_3.5.0 rstudioapi_0.14 yaml_2.3.6##[17]xfun_0.36快速地图_1.1.0电缆附加_1.3.4 httr_1.4.4##[21]字符串_1.5.0 knitr_1.41 xml2_1.3.3 vctrs_0.5.1##[25]sass_0.4.4 systemfonts_1.0.4 grid_4.2.2网络快照_0.5.4##[29]svglite_2.1.0胶_1.6.2 R6_2.5.1 rmarkdown_2.19##[33]magrittr_2.0.3 scales_1.2.1 htmltools_0.5.4花键_4.2.2##[37]服务器_1.0.3颜色空间_2.0-3字符串_1.7.8蒙赛尔0.5.0##[41]缓存_1.0.6

工具书类

海克尔、雷纳、沃纳·沃斯尼奥克、埃伯哈德·古尔和伯克哈德·佩尔。2015.“实验室医学测量不确定度的允许限值”临床化学与检验医学53 (8): 1161–71.https://doi.org/10.1515/cclm-2014-0874.

霍夫曼(Hoffmann)、乔治(Georg)、弗兰克·克拉翁(Frank Klawonn)、拉尔夫·利辛哈根(Ralf Lichtinghagen)和马蒂亚斯·奥尔思(Matthias Orth)。2017.“Zlog值作为实验室结果标准化的基础”Medizin实验室41 (1): 23–32.https://doi.org/10.1515/labmed-2016-0087.