MCMCglmm Package: error : Error in inverseA: individuals appearing as dams but not in pedigree

MCMCglmm Package: error : Error in inverseA: individuals appearing as dams but not in pedigree

我正在尝试寻找动物的遗传能力。当我在函数上使用虚拟数据时,它工作得很好,但是当我从数据库中插入数据时,出现以下错误:

Error in inverseA(pedigree = pedigree, scale = scale, nodes = nodes) : individuals appearing as dams but not in pedigree

我已经删除了所有出现在谱系中但没有任何表型数据的动物,但错误仍然存​​在。

系谱及资料:

prior <- 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(birthweight ~ 1, random = ~animal + year, family = "gaussian", prior = prior, pedigree = pedigree, data = data, nitt = 1e+05, burnin = 10000, thin = 10)

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

我使用 geneticsped 包中的 extend 函数找到了问题的解决方案。先扩展谱系再在mcmcglmm

内使用

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

请注意您所做的以下操作:"I have removed all animals who appear in the pedigree but do not have any phenotypic data"。可能会删除其中一些 ID 缺少 MCMCglmm。

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

pedigree = data.frame(pedigree)

我正在使用 tidyverse 中的函数处理文件,其中 return 与 class "spec_tbl_df" "tbl_df" "tbl" "data.frame" 不一致,这导致了上面发布的相同错误。