В регрессии Кокса категориальные уровни не показаны в моем выводе

В моих данных Hemoglobin_group — это категориальная переменная с 6 уровнями. Когда я запускаю приведенный ниже код, я не вижу Hemoglobin_group уровней в выводе. Как я могу решить эту проблему?

fit <- coxph(Surv(Time,Status)~Hemoglobin_group, data)
fit

Мой вывод:

                      coef   exp(coef) se(coef)  z        p
    Hemoglobin_group -0.06585  0.93627  0.01874 -3.514 0.000441

person Cgdmm    schedule 17.01.2021    source источник
comment
Можете ли вы опубликовать пример данных?   -  person Juan Camilo Rivera Palacio    schedule 17.01.2021
comment
Эта ссылка, stackoverflow.com/questions/21367259/ категориальные данные, показанные в выводе регрессии, такие как RUTH.CLASS4, RUTH.CLASS5, RUTH.CLASS6, но я не могу показать hemoglobin_group2, hemoglobin_grpup3, hemoglobin_group4, hemoglobin_group5 в моих данных   -  person Cgdmm    schedule 17.01.2021
comment
Я хочу сравнить уровни категориальных переменных и референтной группы   -  person Cgdmm    schedule 17.01.2021
comment
Если вы хотите hemoglobin_group2, hemoglobin_grpup3, hemoglobin_group4..., гемоглобин должен быть факторным и с номерами меток, т.е. hemoglobine_group =2,3,4..... Не могли бы вы это проверить?.   -  person Juan Camilo Rivera Palacio    schedule 17.01.2021
comment
По крайней мере, нам нужно видеть summary(data) или str(data) (если в ваших данных есть много других переменных, кроме тех, которые используются в вашем анализе, вы можете их не указывать, чтобы упростить задачу)   -  person Ben Bolker    schedule 17.01.2021


Ответы (2)


Ваша переменная Hemoglobin_group, вероятно, считается числовым значением. Пытаться:

Hemoglobin_groupF <- factor(Hemoglobin_group)
fit <- coxph(Surv(Time,Status) ~ Hemoglobin_groupF, data)
fit

Референтная группа будет первым фактором. Вы можете легко изменить свой эталонный коэффициент с помощью функции relevel

person Regis    schedule 17.01.2021
comment
Мой групповой фактор гемоглобина, и я использую функцию повторного уровня, но я не могу показать все еще классы гемоглобина в выходных данных регрессии. - person Cgdmm; 17.01.2021
comment
Думаю, мы не сможем ответить, не увидев больше кода или данных. - person Regis; 17.01.2021

str(data)
tibble [2,021 x 21] (S3: tbl_df/tbl/data.frame)
$ status             : num [1:2021] 1 1 1 1 1 1 0 0 0 0 ...
$ id                 : num [1:2021] 1 1 1 1 1 1 2 2 2 2 ...
$ Time               : num [1:2021] 20.3 20.3 20.3 20.3 20.3 ...
$ t1                 : num [1:2021] 0 1 2 3 4 5 0 1 2 3 ...
$ t2                 : num [1:2021] 1 2 3 4 5 ...
$ sex_string         : chr [1:2021] "MALE" "MALE" "MALE" "MALE"...
$ sex                : num [1:2021] 1 1 1 1 1 1 1 1 1 1 ...
$ age                : num [1:2021] 89 89 89 89 89 89 77 77 77 77 ...
$ hemoglobin         : num [1:2021] 9.71 10.22 11.3 11.8 11.2 ...
$ Diabet             : num [1:2021] 1 1 1 1 1 1 2 2 2 2 ...
$ Hemoglobin_group   : num [1:2021] 4 4 4 4 4 4 5 5 5 5 ...
$ Kreatinin          : num [1:2021] 7.19 7.19 7.19 7.19 7.19 ...
$ fosfor             : num [1:2021] 4.14 4.14 4.14 4.14 4.14 ...
$ Kalsiyum           : num [1:2021] 8.5 8.5 8.5 8.5 8.5 ...
$ CRP                : num [1:2021] 1.33 1.33 1.33 1.33 1.33 ...
$ Albumin            : num [1:2021] 4.19 4.19 4.19 4.19 4.19 ...
$ Ferritin           : num [1:2021] 428 428 428 428 428 ...
$ months             : num [1:2021] 1 2 3 4 5 6 1 2 3 4 ...

Похоже, когда я пишу str (данные). Я думал, что превращаюсь в фактор, выполняя следующие коды в своих данных. Наверное, я не мог трансформироваться. Я не понял?

Коды, которые я написал для преобразования в фактор, были следующими:

sex<-as.factor(sex)
is.factor(sex)

Diabet<-as.factor(Diabet)
is.factor(Diabet)


Status<-as.factor(Status)
is.factor(Status)

months<-as.factor(months)
is.factor(months)

Hemoglobin_group<-as.factor(Hemoglobin_group)
is.factor(Hemoglobin_group)
                         

Когда я запускаю этот код, консоль R выглядит так:

> sex<-as.factor(sex)
> is.factor(sex)
 [1] TRUE
> 
> Diabet<-as.factor(Diabet)
> is.factor(Diabet)
[1] TRUE
> 
> 
> Status<-as.factor(Status)
> is.factor(Status)
[1] TRUE
> 
> months<-as.factor(months)
> is.factor(months)
[1] TRUE
> 
> Hemoglobin_group<-as.factor(Hemoglobin_group)
> is.factor(Hemoglobin_group)
[1] TRUE
                    

В этом случае не превращаются ли категориальные переменные в моих данных в факторы?

person Cgdmm    schedule 17.01.2021