Ошибка 'termlabels' в функции coxph () пакета выживания

Я пытаюсь проанализировать повторяющийся набор данных событий и изо всех сил пытаюсь соответствовать модели.

Подмножество моих данных:

outdat <- structure(list(yr = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3,  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3), jday = c(141, 151, 156, 157, 157, 158, 164, 168,  168, 168, 168, 168, 168, 170, 171, 171, 177, 177, 177, 178, 179,   181, 182, 182, 182, 182, 182, 184, 186, 188, 188, 188, 189, 191,     197, 197, 197, 198, 198, 199, 209, 211, 217, 223, 230, 161, 187,    196, 196, 196, 197, 197, 201, 204, 204, 204, 208, 209, 211, 212,     215, 215, 219, 221, 222, 225, 229, 229, 245, 252, 256, 159, 160,    166, 172, 174, 174, 178, 178, 178, 178, 178, 179, 182, 185, 185, 186, 186, 187, 187, 187, 187, 187, 187, 188, 188, 192, 195, 195,     195, 195, 195, 196, 196, 196, 200, 200, 200, 200, 202, 203, 204,     207, 207, 207, 207, 207, 207, 207, 208, 212, 212, 226), out = c(1,   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)), row.names = c(NA,     -123L), class = c("tbl_df", "tbl", "data.frame"))

Данные показывают наличие болезней сельскохозяйственных культур в стране, и я сначала пытаюсь использовать модель Кокса PH. Руководство пакета survival рекомендует определять термин cluster() в формуле.

cm <- coxph(Surv(time =jday, event = out ) ~ cluster(yr), data = outdat)
Error in reformulate(temp[1 - tcl]) : 
'termlabels' must be a character vector of length at least one  

Если я не определяю ковариату как группирующую переменную, модель подходит.

cm <- coxph(Surv(time =jday, event = out ) ~ yr, data = outdat)

Обратите внимание, что я попытался изменить класс outdat$yr на символ / фактор.


person m_c    schedule 18.07.2020    source источник
comment
Я ненавижу быть тем парнем, который ставит под сомнение вопрос, а не дает ответ, но модель Кокса с одной стратифицированной ковариатой не имеет большого смысла. Я бы не стал использовать cluster, если бы вы не беспокоились, что yr не является пропорциональным риском. Пакет survival, конечно, не рекомендует добавлять cluster() в каждую модель.   -  person pgcudahy    schedule 18.07.2020


Ответы (1)


Член cluster() корректирует стандартные ошибки опасностей, но, поскольку это единственный член в правой части формулы, у вас нет ковариат, которые нужно корректировать. Вам нужна как минимум одна ковариата. И я бы не стал включать термин кластер, если у вас не было для этого особой причины.

См. здесь для получения дополнительной информации

person pgcudahy    schedule 18.07.2020