R包-pedigreemm

pedigreemm 是处理系谱构建A阵,A逆阵等的一个 R 包,但是基于实操发现这个R包不能处理数据量较大的系谱。

构建A阵

我本来的目的就是用这个包构建A阵,代码如下

其中 editPed() 函数用于处理系谱数据,pedigree() 用于构建“pedigree”类的对象,getA() 用于生成A阵

1
2
3
4
5
6
7
library(pedigreemm)
# 处理系谱,构建 A阵
pedigree_file = read.table("pedigree_uncode", header=F, na.strings="0")

pede = editPed(sire=pedigree_file$V2,dam=pedigree_file$V3,label=pedigree_file$V1)
ped <- pedigree(sire = pede$sire,dam = pede$dam,label = pede$label)
A = getA(ped)

但是最后一步遇到了报错,提示数据量太大

1
2
3
> A = getA(ped)
Error in .local(x, y = y, ...) :
Cholmod error 'problem too large' at file ../Core/cholmod_sparse.c, line 89

这里系谱行数为 141199 。

此时可以改用 nadiv 包构建A阵, nadiv 包没有限制系谱数目。

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2019-2023 Vincere Zhou
  • 访问人数: | 浏览次数:

请我喝杯茶吧~

支付宝
微信