R 在MCMCglmm中指定优先级
我已经在这方面工作了好几个小时了,只是我自己无法解决问题。非常感谢您的帮助 对于我的因变量(R 在MCMCglmm中指定优先级,r,R,我已经在这方面工作了好几个小时了,只是我自己无法解决问题。非常感谢您的帮助 对于我的因变量(结果),我在4次试验中收集了每个受试者的4个回答。每个试验的编码要么为阳性,阴性,要么为矛盾。自变量:条件,性别,以及年龄范围都有两个水平 这是我的数据的一个子集: Subject Trial Outcome Age.Range Gender Condition PHIL060 1 AMBI Y 2 1 PHIL060 2 NEGA
结果
),我在4次试验中收集了每个受试者的4个回答。每个试验的编码要么为阳性
,阴性
,要么为矛盾
。自变量:条件
,性别
,以及年龄范围
都有两个水平
这是我的数据的一个子集:
Subject Trial Outcome Age.Range Gender Condition
PHIL060 1 AMBI Y 2 1
PHIL060 2 NEGATIVE Y 2 1
PHIL060 3 AMBI Y 2 1
PHIL060 4 AMBI Y 2 1
PHIL056 1 POSITIVE Y 1 2
PHIL056 2 <NA> Y 1 2
PHIL056 3 POSITIVE Y 1 2
PHIL056 4 POSITIVE Y 1 2
PHIL057 1 NEGATIVE Y 1 1
PHIL057 2 NEGATIVE Y 1 1
PHIL057 3 NEGATIVE Y 1 1
PHIL057 4 NEGATIVE Y 1 1
PHIL028 1 POSITIVE Y 1 2
PHIL028 2 NEGATIVE Y 1 2
PHIL028 3 NEGATIVE Y 1 2
PHIL028 4 NEGATIVE Y 1 2
PHIL007 1 POSITIVE Y 1 2
PHIL007 2 NEGATIVE Y 1 2
PHIL007 3 NEGATIVE Y 1 2
PHIL007 4 NEGATIVE Y 1 2
PHIL109 1 AMBI Y 2 1
PHIL109 2 AMBI Y 2 1
PHIL109 3 AMBI O 2 1
PHIL109 4 AMBI O 2 1
PHIL031 1 NEGATIVE O 2 2
PHIL031 2 NEGATIVE O 2 2
PHIL031 3 NEGATIVE O 2 2
PHIL031 4 NEGATIVE O 2 2
PHIL032 1 NEGATIVE O 2 2
PHIL032 2 NEGATIVE O 2 2
PHIL032 3 NEGATIVE O 2 2
PHIL032 4 POSITIVE O 2 2
PHIL042 1 NEGATIVE 1 1 2
PHIL042 2 NEGATIVE 1 1 2
PHIL042 3 NEGATIVE 1 1 2
PHIL042 4 NEGATIVE 1 1 2
PHIL100 1 NEGATIVE 1 1 1
PHIL100 2 NEGATIVE 1 1 1
PHIL100 3 NEGATIVE 1 1 1
PHIL100 4 NEGATIVE 1 1 1
PHIL017 1 POSITIVE 1 1 1
PHIL017 2 POSITIVE 1 1 1
PHIL017 3 POSITIVE 1 1 1
PHIL017 4 NEGATIVE 1 1 1
PHIL018 1 NEGATIVE 1 1 1
PHIL018 2 NEGATIVE 1 1 1
PHIL018 3 AMBI 1 1 1
PHIL018 4 NEGATIVE 1 1 1
PHIL020 1 NEGATIVE 1 2 2
PHIL020 2 NEGATIVE 1 2 2
PHIL020 3 NEGATIVE 1 2 2
PHIL020 4 NEGATIVE 1 2 2
PHIL043 1 NEGATIVE 1 1 2
PHIL043 2 NEGATIVE 1 1 2
PHIL043 3 NEGATIVE 1 1 2
PHIL043 4 NEGATIVE 1 1 2
PHIL078 1 NEGATIVE 1 1 2
PHIL078 2 POSITIVE 1 1 2
PHIL078 3 POSITIVE 1 1 2
PHIL078 4 POSITIVE 1 1 2
我一直收到以下错误消息:
priorformat中的错误(如果(NOpriorG){:
V是某些先前的$G/R元素的错误维度
有人能告诉我如何最好地编辑优先级吗?看起来您的分组(
G
)优先级应该是1x1矩阵/标量,而不是3x3,所以
G = list(G1 = list(V = diag(1), n = 3)))
应该有用
事后看来,这是很清楚的,因为您有一个简单的(仅截取)分组因子模型(因此随机效应只有一个方差),但我计算出来的方法是查看错误消息,猜测我需要调试(MCMCglmm:::priorformat)
,然后逐步执行该函数,直到完成
if (any(dim(prior$V) != sum(nfl))) {
stop("V is the wrong dimension for some prior$G/prior$R elements")
}
## Browse[2]> dim(prior$V)
## [1] 3 3
## Browse[2]> sum(nfl)
## [1] 1
如果将错误消息修改为更具信息性,例如
if (any(dim(prior$V) != sum(nfl))) {
stop("V is the wrong dimension for ",
"some prior$G/prior$R elements: (G element dimension=(",
paste(dim(prior$V),collapse=","),
"), proper dimension=",sum(nfl),")")
}
看起来之前的分组(
G
)应该是1x1矩阵/标量,而不是3x3,所以
G = list(G1 = list(V = diag(1), n = 3)))
应该有用
事后看来,这是很清楚的,因为您有一个简单的(仅截取)分组因子模型(因此随机效应只有一个方差),但我计算出来的方法是查看错误消息,猜测我需要调试(MCMCglmm:::priorformat)
,然后逐步执行该函数,直到完成
if (any(dim(prior$V) != sum(nfl))) {
stop("V is the wrong dimension for some prior$G/prior$R elements")
}
## Browse[2]> dim(prior$V)
## [1] 3 3
## Browse[2]> sum(nfl)
## [1] 1
如果将错误消息修改为更具信息性,例如
if (any(dim(prior$V) != sum(nfl))) {
stop("V is the wrong dimension for ",
"some prior$G/prior$R elements: (G element dimension=(",
paste(dim(prior$V),collapse=","),
"), proper dimension=",sum(nfl),")")
}
我们能有一个可复制的例子吗?嗨,博克教授,我已经编辑了我的文章以包含我的数据。谢谢!我们能有一个可复制的例子吗?嗨,博克教授,我已经编辑了我的文章以包含我的数据。谢谢!