#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. Большое спасибо, похоже, это работает именно так! Хотя, не могли бы вы снова связать свой источник? Я не могу открыть его отсюда.