Какова правильная структура данных для моделирования цензурированных данных в MCMCglmm

Я хотел бы создать смешанную модель для оценки влияния моего лечения (Cort и Pred) на индивидуальное поведение. Поскольку мои данные подвергаются цензуре (лица, которые не выходят из своего убежища в течение заданного времени, получают максимальный балл, здесь 1200), я намерен использовать пакет MCMCglmm с «ценгаусской» семьей.

Моя исходная структура данных выглядит так:

   ID Cort Pred repeat. RT_orig 
1   1 NoCH   PA       1     113 
2   2   CH   PA       1      NA 
3   3 NoCH   PA       1      65 
4   4   CH   PA       1    1200 
5   5   CH   PP       1     472 
6   1 NoCH   PA       2     790 
7   2   CH   PA       2      NA 
8   3 NoCH   PA       2       1 
9   4   CH   PA       2      15 
10  5   CH   PP       2    1200 
11  1 NoCH   PA       3      31 
12  2   CH   PA       3     548 
13  3 NoCH   PA       3    1200 
14  4   CH   PA       3    1200 
15  5   CH   PP       3     527 

и впервые я применил следующую модель

model<-MCMCglmm(RT_orig~Cort*Pred+repeat.,
    random=~ID+(0+repeat.|ID), data=xdata, family="cengaussian")

Однако я столкнулся с этим сообщением об ошибке:

Error in matrix(unlist(value, recursive = FALSE, use.names = FALSE), nrow = nr, : 'data' must be of a vector type, was 'NULL'

После тщательного изучения вопроса я пришел к выводу, что моя переменная ответа должна иметь два столбца, как в модели выживания. Но я все еще не знаю, как должна выглядеть правильная структура данных.

Если бы я попытался закодировать подвергнутые цензуре данные в новом столбце (вероятно, не так...)

   ID Cort Pred repeat. RT_orig censored
1   1 NoCH   PA       1     113        0
2   2   CH   PA       1      NA       NA
3   3 NoCH   PA       1      65        0
4   4   CH   PA       1    1200        1
5   5   CH   PP       1     472        0
6   1 NoCH   PA       2     790        0
7   2   CH   PA       2      NA        0
8   3 NoCH   PA       2       1        0
9   4   CH   PA       2      15        0
10  5   CH   PP       2    1200        1
11  1 NoCH   PA       3      31        0
12  2   CH   PA       3     548        0
13  3 NoCH   PA       3    1200        1
14  4   CH   PA       3    1200        1
15  5   CH   PP       3     527        0

используя следующую модель

MCMC.RT<-MCMCglmm(cbind(RT_orig, censored)~Cort*Pred+repeat.,
    random=~ID+(0+repeat.|ID), data=xdata, family="cengaussian")

я понимаю это

**Error in MCMCglmm(cbind(RT_orig, censored) ~ Cort * Pred + repeat.,  : 
  for censored traits left censoring point must be less than right censoring point**

Я почти уверен, что очень близок к решению, но нигде не нашел ответа на этот вопрос. Так что я был бы очень, очень внимательным, если бы кто-то мог дать мне совет по этому вопросу.


person Gergely Horváth    schedule 30.09.2016    source источник


Ответы (1)


Данные о длительности действительно являются проблемой, с которой я борюсь сам.

Насколько я знаю (я очень кратко рассмотрел это), ваши данные хороши для анализа выживания, но не для MCMCglmm. Как указано здесь, вам нужно поставить минимальное и максимальное значение.

data$ymin <- floor (data$y)
data$ymax <- ceiling (data$y)
model <- MCMCglmm (cbind(ymin,ymax) ~Cort*Pred+repeat
person Bram Vanden Broecke    schedule 25.01.2017
comment
Спасибо большое, вроде работает! Хотя, не могли бы вы снова дать ссылку на ваш источник? Я не могу открыть его отсюда. - person Gergely Horváth; 08.09.2017