在MCMCglmm中建模删失数据的正确数据结构是什么

时间:2016-09-30 11:11:12

标签: r mixed-models 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 个答案:

答案 0 :(得分:0)

Lantency数据确实是一个问题,我正在努力解决这个问题。

据我所知(我只是简单地看一下)你的数据输入有利于生存分析,但不适用于MCMCglmm。如上所述here,您需要设置最小值和最大值。

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