getSex {pedtools}R Documentation

Get or set the sex of pedigree members

Description

Functions for retrieving or changing the sex of specified pedigree members. When used in pedigree constructions, swapSex() is usually more convenient than setSex(), since it deals with spouses automatically.

Usage

getSex(x, ids = NULL, named = FALSE)

setSex(x, ids = NULL, sex)

swapSex(x, ids, verbose = TRUE)

Arguments

x

A ped object or a list of such.

ids

A vector identifying members of x, or a function, in which case it is replaced with ids(x) labels. If NULL, defaults to all members of x.

named

A logical: return a named vector or not.

sex

A numeric vector with entries 1 (= male), 2 (= female) or 0 (= unknown). If ids is NULL, sex must be named with ID labels. If sex is unnamed and shorter than ids it is recycled to length(ids).

verbose

A logical: Verbose output or not.

Details

To set unknown sex, use setSex(x, ids, sex = 0). Note that if a nonfounder has unknown sex the pedigree cannot be plotted in the usual way, only with plot(x, arrows = TRUE).

Value

See Also

ped()

Examples

x = nuclearPed(father = "fa", mother = "mo", children = "ch")

stopifnot(all.equal(
  getSex(x, named = TRUE),
  c(fa = 1, mo = 2, ch = 1)
))

# Make child female
setSex(x, ids = "ch", sex = 2)

# Same, using a named vector
setSex(x, sex = c(ch = 2))

# Same, using a function (setting all leaves to be female)
setSex(x, ids = leaves, sex = 2)

# swapSex() deals with spouses automatically
swapSex(x, ids = "fa")

# setting/getting sex in a pedlist
y = singletons(id = 1:3, sex = c(2,1,1))
sx = getSex(y, named = TRUE)
y2 = setSex(y, sex = sx)

stopifnot(identical(y, y2))


[Package pedtools version 2.6.0 Index]