Могу ли я включить недостающие данные в R

В настоящее время я провожу анализ выживаемости первых 312 строк набора данных, размещенного по адресу:

Удаление отсутствующих значений данных

Я проверяю отсутствие данных, и вот что возвращает р:

> 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

Когда я провожу регрессионный анализ Кокса, я получаю следующее:

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 недостающие строки в наборе данных?

Это приводит к другой проблеме: я пытаюсь изобразить остатки Мартингейла, но не могу, так как есть 310 остатков, а переменная V11билирубин имеет 312 наблюдений, поэтому график невозможен.

Предложения?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
19
1

Ответы 1

Вы, наверное, имеете в виду этот массаж, который у вас есть:

(2 observations deleted due to missingness)

Как видно из таблицы:

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

Есть 30 пропущенных значений в V17 и 28 пропущенных значений в V12, но поскольку ни V17, ни V12 не являются регрессорами в вашей модели / части формулы, для них нет проблем.

Call: coxph(formula = Surv(Time, Status == 1) ~ log(V5) + V10 + log(V11) + log(V13) + V14 + V16 + log(V19) + V20, data = surv.df)

V14, который является частью вашего вызова / формулы, имеет 2 пропущенных значения - поэтому появляется предупреждение.

Не обязательно так уж плохо, что эти два наблюдения были удалены для вашей модели. Если вы этого не хотите, вы можете удалить V14 из своей формулы. Или вы можете выполнить некоторое вменение, чтобы заменить эти отсутствующие значения разумными значениями. (возможно, здесь поможет пакет с мышами).

Другие вопросы по теме