作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当某些人只认识一位 parent 时,是否可以在R中创建血统书?
我曾尝试在R中使用kinship2软件包创建一个血统书,但我相信只有在没有 parent (被认为是第1代)的情况下,然后又是 parent 的情况下,这才可以解决。
我相信synbreed软件包能够处理此问题,并且我尝试了以下代码,但由于某种原因,我收到了无法解密的错误代码。我的数据的结构方式有问题吗?还是我如何制定create.pedigree()函数的参数?还是不可能在同族组合中构建此谱系?
注意数据帧“Ped”的第5行和第6行只有一个父ID。
> Ped<-read.csv("Pedigree.csv",header=T)
> library(synbreed)
> head(Ped)
IndividualID SireID DamID Sex
1 019-35751 026-34118 026-34117 male
2 019-35740 <NA> <NA> female
3 019-35791 026-34129 026-34128 male
4 019-35702 <NA> <NA> male
5 019-35784 <NA> 026-34147 female
6 019-35764 <NA> 026-34133 male
> str(Ped)
'data.frame': 1136 obs. of 4 variables:
$ IndividualID: Factor w/ 1136 levels "019-35702","019-35712",..: 6 4 10 1 9 8 3 63 62 108 ...
$ SireID : Factor w/ 136 levels "019-35712","019-35756",..: 8 NA 15 NA NA NA 23 23 23 84 ...
$ DamID : Factor w/ 131 levels "026-34101","026-34103",..: 4 NA 7 NA 13 8 NA NA NA 30 ...
$ Sex : Factor w/ 2 levels "female","male": 2 1 2 2 1 2 2 2 2 2 ...
> create.pedigree(Ped$IndividualID, Ped$SireID, Ped$DamID , unknown = NA)
Error in `[<-.data.frame`(`*tmp*`, is.na(pedigree), value = 0) :
unsupported matrix index in replacement
最佳答案
我不知道synbreed
软件包及其对只有一位已知 parent 的个人的假设,因此下面的答案可能与您要寻找的答案不同。
但是,如果您知道/相信未知的 parent 是指独立的人,则可以通过添加“空” parent 来“修复”数据集。
类似于您显示的玩具数据集可能是
fid id father mother sex
1 1 . . 1
1 2 . . 2
1 3 1 2 1
1 4 1 2 1
1 5 . 2 2
1 6 . 2 1
fid id father mother sex
1 1 . . 1
1 2 . . 2
1 3 1 2 1
1 4 1 2 1
1 100 . . 1
1 101 . . 1
1 5 100 2 2
1 6 101 2 1
library(kinship2)
indata <- read.table("ped.txt", header=TRUE, na.strings=".")
with(indata, pedigree(id=id, dadid=father, momid=mother, sex=sex, famid=fid))
synbreed
包(和相关的计算)可以处理那些人的可能性,那么那与我建议的是不同的(并且在计算上非常困难)。
关于r - 如果某些人只有1个 parent ,则在R中创建谱系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35335487/
我是一名优秀的程序员,十分优秀!