View source: R/pedigree.unrelated.R
pedigree.unrelated | R Documentation |
Determine set of maximum number of unrelated available subjects from a pedigree, given vectors id, father, and mother for a pedigree structure, and status vector of T/F for whether each subject is available (e.g. has DNA)
pedigree.unrelated(ped, avail)
ped |
A pedigree objects with unique id, father index, mother index |
avail |
Vector of availability status (e.g., genotyped) 0/1 or TRUE/FALSE |
This is a greedy algorithm that uses the kinship matrix, sequentially removing rows/cols that are non-zero for subjects that have the most number of zero kinship coefficients (greedy by choosing a row of kinship matrix that has the most number of zeros, and then remove any cols and their corresponding rows that are non-zero. To account for ties of the count of zeros for rows, a random choice is made. Hence, running this function multiple times can return different sets of unrelated subjects.
A vector of the ids of subjects that are unrelated.
kinship
,
pedigree
data(sample.ped)
fam1 <- sample.ped[sample.ped$ped==1,]
ped1 <- pedigree(fam1$id, fam1$father, fam1$mother,
fam1$sex, fam1$affected, fam1$avail)
## to see plot:
## plot.pedigree(ped1, align=FALSE)
id1 <- pedigree.unrelated(ped1, avail=fam1$avail)
id1
## some possible vectors
##[1] "110" "113" "133" "109"
##[1] "113" "118" "141" "109"
##[1] "113" "118" "140" "109"
##[1] "110" "113" "116" "109"
##[1] "113" "133" "141" "109"
fam2 <- sample.ped[sample.ped$ped==2,]
ped2 <- pedigree(fam2$id, fam2$father, fam2$mother,
fam2$sex, fam2$affected, fam2$avail)
## to see plot:
## plot.pedigree(ped2, align=FALSE)
id2 <- pedigree.unrelated(ped2, avail=fam2$avail)
## some possible vectors
##[1] "203" "207"
##[1] "203" "204"
##[1] "201" "203"
##[1] "214" "203"
id2
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.