generation: Calculate generation value

Description Usage Arguments Details Value Author(s) See Also Examples

Description

generation calculates generation value of individuals in given pedigree. generation<- provides a way to properly add generation information into the pedigree.

Usage

1
2
generation(x, start=1, generationOrder=NULL)
generation(x, generationOrder=NULL, col=NULL) <- value

Arguments

x

pedigree object

start

first generation value

generationOrder

character, should be generation values "increasing" or "decreasing" through generations, see details

col

character, column name in x for generation

value

generation values for individuals in the pedigree

Details

Generation value for founders is set to value start, which is by default 1, while other individuals get it according to:

G_s = max(G_{1a} + G_{2a} + ... G_{na}) + 1

where G represents generation value for s - individual, a - ascendant e.g. father and mother, where n=2. N might be higher if there are multiple ascendants i.e. this function can also handle pedigrees with higher order ascendants e.g. grandfather.

generationOrder can be used to define "increasing" or "decreasing" order of generation values. If this argument is NULL, which is default, then this information is taken from the pedigree - see Pedigree for more on this issue.

col provides a way to name or possibly also rename generation column with user specified value, say "generazione" in Italian. When col=NULL, which is default, "generation" is used.

Value

A vector of generation values (integers)

Author(s)

Gregor Gorjanc

See Also

Pedigree

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  # Nonoverlapping pedigree
  ped <- generatePedigree(nId=5, nGeneration=4, nFather=1, nMother=2)
  ped$generation1 <- generation(ped)
  ped

  # Overlapping Pedigree
  ped <- data.frame(     id=c(1, 2, 3, 4, 5, 6, 7),
                     father=c(0, 0, 2, 2, 2, 4, 4),
                     mother=c(0, 0, 1, 0, 3, 3, 5),
                    dtBirth=c(2, 1, 3, 4, 5, 6, 7))
  ped <- Pedigree(ped, unknown=0, dtBirth="dtBirth")
  generation(ped) <- generation(ped)

  # Overlapping pedigree + one individual (4) comes late in pedigree and
  # has no ascendants
  ped <- data.frame(     id=c(1, 2, 3, 4, 5, 6, 7),
                     father=c(0, 0, 2, 0, 2, 4, 4),
                     mother=c(0, 0, 1, 0, 3, 3, 5),
                    dtBirth=c(2, 1, 3, 2, 5, 6, 7))
  ped <- Pedigree(ped, unknown=0, dtBirth="dtBirth")
  generation(ped)
  generation(ped, generationOrder="decreasing",
             col="generazione") <- generation(ped, generationOrder="decreasing")


Search within the GeneticsPed package
Search all R packages, documentation and source code

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.