MCMCglmm包:错误:inverseA中的错误:个体显示为水坝但不在血统中

时间:2017-12-26 13:53:39

标签: r matrix packages matrix-inverse

我试图找到动物的遗传性。当我在函数上使用虚拟数据时,它工作得很好但是当我从数据库插入数据时,我收到以下错误:

inverseA中的错误(谱系=谱系,比例=比例,节点=节点):   个人出现在水坝但不是血统 我已经删除了所有出现在谱系中的动物,但没有任何表型数据,但错误占优势。

谱系和数据 enter image description here

previous< - list(R = list(V = 1,nu = 0.002),G = list(G1 = list(V = 1,nu = 0.002),G2 = list(V = 1,nu = 0.002) )))

heritmodel< - MCMCglmm(出生体重〜1,随机=〜动物+年,家庭=“高斯”,先前=先前,血统=谱系,数据=数据,nitt = 1e + 05,burnin = 10000,瘦= 10)

PS。数据文件非常大,我只输入数据集的前十个动物。

2 个答案:

答案 0 :(得分:0)

我使用geneticsped包中的extend函数找到了问题的解决方案。首先扩展血统,然后在mcmcglmm

内使用它

答案 1 :(得分:0)

我只是遇到了同样的问题,并且使用了不同的方法来解决(因为geneticsped包似乎已经过时了。)

请注意以下事项:“我已经删除了所有出现在谱系中但没有任何表型数据的动物” 。可能正在删除其中一些ID,MCMCglmm丢失了。

对我来说,这解决了问题。另外,请确保传递给具有相同名称的参数的谱系和数据对象为class dataframe。例如

pedigree = data.frame(pedigree)

我正在处理具有tidyverse函数的文件,这些函数返回class "spec_tbl_df" "tbl_df" "tbl" "data.frame"的小标题,这导致上面发布的相同错误。