如何解决我可以在 R 中包含缺失数据吗
我目前正在对发布在以下位置的数据集的前 312 行进行生存分析:
我检查丢失的数据,这是 R 返回的:
> apply(surv.df,2,function(x) length(which(is.na(x))))
V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20
0 0 0 0 0 0 0 0 0 0 28 0 2 0 0 30 4 0 0
当我进行 Cox 回归分析时,我得到以下信息:
Call:
coxph(formula = Surv(Time,Status == 1) ~ log(V5) + V10 + log(V11) +
log(V13) + V14 + V16 + log(V19) + V20,data = surv.df)
n= 310,number of events= 124
(2 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
log(V5) 1.6977282 5.4615258 0.4920161 3.451 0.000559 ***
V10 0.8223583 2.2758606 0.3032572 2.712 0.006693 **
log(V11) 0.7103807 2.0347658 0.1204626 5.897 3.7e-09 ***
log(V13) -2.3728128 0.0932182 0.7746120 -3.063 0.002190 **
V14 0.0018932 1.0018950 0.0009783 1.935 0.052967 .
V16 0.0030053 1.0030098 0.0017212 1.746 0.080804 .
log(V19) 2.8071931 16.5633615 1.1514466 2.438 0.014770 *
V20 0.2898083 1.3361713 0.1392896 2.081 0.037469 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
log(V5) 5.46153 0.18310 2.08214 14.3258
V10 2.27586 0.43939 1.25607 4.1236
log(V11) 2.03477 0.49146 1.60685 2.5766
log(V13) 0.09322 10.72752 0.02042 0.4255
V14 1.00189 0.99811 0.99998 1.0038
V16 1.00301 0.99700 0.99963 1.0064
log(V19) 16.56336 0.06037 1.73395 158.2201
V20 1.33617 0.74841 1.01695 1.7556
Concordance= 0.859 (se = 0.017 )
Likelihood ratio test= 211.3 on 8 df,p=<2e-16
Wald test = 205.9 on 8 df,p=<2e-16
Score (logrank) test = 281.9 on 8 df,p=<2e-16
有没有办法保留数据集中缺失的 2 行?
这会导致另一个问题:我正在尝试绘制 Martingale 残差,但我无法绘制,因为有 310 个残差并且 V11
变量 bilirubin 有 312 个观察值,因此剧情是不可能的。
建议?
解决方法
你可能在谈论你得到的按摩:
(由于缺失,删除了 2 个观察)
正如您从表格中看到的:
apply(surv.df,2,function(x) length(which(is.na(x))))
V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20
0 0 0 0 0 0 0 0 0 0 28 0 2 0 0 30 4 0 0
V17 中有 30 个缺失值,V12 中有 28 个缺失值,但由于 V17 或 V12 都不是模型/部分公式中的回归量,因此这些都没有问题。
调用: coxph(公式 = Surv(Time,Status == 1) ~ log(V5) + V10 + log(V11) + log(V13) + V14 + V16 + log(V19) + V20,数据 = surv.df)
作为调用/公式的一部分的 V14 有 2 个缺失值 - 这就是出现警告的原因。
这并不一定太糟糕,这两个观察结果已为您的模型删除。如果您不想要这个,您可以从公式中删除 V14。或者您可以执行一些插补以用合理的值替换这些缺失值。 (也许 mouse 包可以在这里提供帮助)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。