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

#r #mixed-models #mcmc

#r #смешанные модели #mcmc

Вопрос:

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

Моя исходная структура данных выглядит следующим образом:

    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**
  

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

Ответ №1:

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

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

 data$ymin <- floor (data$y)
data$ymax <- ceiling (data$y)
model <- MCMCglmm (cbind(ymin,ymax) ~Cort*Pred repeat
  

Комментарии:

1. Большое спасибо, похоже, это работает именно так! Хотя, не могли бы вы снова связать свой источник? Я не могу открыть его отсюда.