Nothing
## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.width = 6.5,
fig.height = 6.5,
dpi = 96,
out.width = "100%"
)
library(visPedigree)
## ----gettingdataset,eval=FALSE------------------------------------------------
# data(package="visPedigree")
## ----simpleped----------------------------------------------------------------
head(simple_ped)
tail(simple_ped)
# The number of individuals in the pedigree dataset
nrow(simple_ped)
# Individual records with missing parents
simple_ped[Sire %in% c("0", "*", "NA", NA) |
Dam %in% c("0", "*", "NA", NA)]
## ----error=TRUE---------------------------------------------------------------
try({
x <- data.table::copy(simple_ped)
x[ID == "J2F588", Sire := "J0Z167"]
y <- tidyped(x)
})
## ----tidyped------------------------------------------------------------------
tidy_simple_ped <- tidyped(simple_ped)
head(tidy_simple_ped)
tail(tidy_simple_ped)
nrow(tidy_simple_ped)
## -----------------------------------------------------------------------------
tidy_simple_ped_no_gen_num <-
tidyped(simple_ped, addgen = FALSE, addnum = FALSE)
head(tidy_simple_ped_no_gen_num)
## ----loop_detection, error=TRUE-----------------------------------------------
try({
# loop_ped contains cycles (e.g., V -> T -> R -> P -> M -> V)
# Attempting to tidy it will result in an error
try(tidyped(loop_ped))
})
## ----writeped,eval=FALSE------------------------------------------------------
# saved_ped <- data.table::copy(tidy_simple_ped)
# saved_ped[is.na(Sire), Sire := "0"]
# saved_ped[is.na(Dam), Dam := "0"]
# data.table::fwrite(
# x = saved_ped,
# file = tempfile(fileext = ".csv"),
# sep = ",",
# quote = FALSE
# )
## -----------------------------------------------------------------------------
tidy_simple_ped_J5X804_ancestors <-
tidyped(ped = tidy_simple_ped_no_gen_num, cand = "J5X804")
tail(tidy_simple_ped_J5X804_ancestors)
## -----------------------------------------------------------------------------
tidy_simple_ped_J5X804_ancestors_2 <-
tidyped(ped = tidy_simple_ped_no_gen_num,
cand = "J5X804",
tracegen = 2)
print(tidy_simple_ped_J5X804_ancestors_2)
## -----------------------------------------------------------------------------
tidy_simple_ped_J0Z990_offspring <-
tidyped(ped = tidy_simple_ped_no_gen_num, cand = "J0Z990", trace = "down")
print(tidy_simple_ped_J0Z990_offspring)
## ----intped-------------------------------------------------------------------
tidy_simple_ped_with_int <-
tidyped(ped = tidy_simple_ped_no_gen_num, addnum = TRUE)
head(tidy_simple_ped_with_int)
## ----inbreed------------------------------------------------------------------
# Create a simple inbred pedigree
library(data.table)
test_ped <- data.table(
Ind = c("A", "B", "C", "D", "E"),
Sire = c(NA, NA, "A", "C", "C"),
Dam = c(NA, NA, "B", "B", "D"),
Sex = c("male", "female", "male", "female", "male")
)
# Option 1: Calculate during tidying
tidy_test <- tidyped(test_ped, inbreed = TRUE)
head(tidy_test)
# Option 2: Calculate after tidying
tidy_test <- inbreed(tidyped(test_ped))
## ----genmethod----------------------------------------------------------------
# Default behavior (Top-Down): J2Y434 is at Gen 3
tidy_top <- tidyped(simple_ped, genmethod = "top")
tidy_top[Ind == "J2Y434"]
# Bottom-Up behavior: J2Y434 is at Gen 6
tidy_bottom <- tidyped(simple_ped, genmethod = "bottom")
tidy_bottom[Ind == "J2Y434"]
## ----summary------------------------------------------------------------------
# Summarize the tidied pedigree
summary(tidy_simple_ped)
## ----splitped-----------------------------------------------------------------
# Split the pedigree into components
sub_pedigrees <- splitped(tidy_simple_ped)
# View summary of the split result
summary(sub_pedigrees)
# Access a specific sub-pedigree
# first_sub <- sub_pedigrees[[1]]
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.