A class to store multilocus genotypes in genclone objects. This is intended for internal use only.
Slots
mlga list containing four vectors, one for each type of MLG manipulation.
visiblea character specifying which MLG type is to be displayed and accessed.
distnamethe name of the distance function or matrix used to collapse mlgs.
distenvthe environment that contains the distance function or matrix
distargsthe arguments provided to compute the distance function.
distalgothe algorithm used to contract multilocus genotypes.
cutoffTwo numbers specifying the cutoff value for expanding and collapsing MLGs.
Examples
# These examples will simply show you what you can do with these
set.seed(5000)
(x <- sample(10, 20, replace = TRUE))
#> [1] 8 5 5 2 3 1 4 9 6 4 5 9 7 10 2 4 2 4 10 2
(m <- new("MLG", x))
#> 20 original mlgs.
#> [1] 8 5 5 2 3 1 4 9 6 4 5 9 7 10 2 4 2 4 10 2
visible(m) # original is always default
#> [1] "original"
m[] # adding braces after the object will always return a vector of
#> [1] 8 5 5 2 3 1 4 9 6 4 5 9 7 10 2 4 2 4 10 2
# the same type as defined in "visible"
m + 1 # You can do math on the numeric ones
#> [1] 9 6 6 3 4 2 5 10 7 5 6 10 8 11 3 5 3 5 11 3
visible(m) <- "custom"
m + 2 # This should throw a warning
#> Warning: ‘+’ not meaningful for factors
#> [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
# The types are stored in a data frame. You can retrieve them easily:
visible(m) <- "original"
m
#> 20 original mlgs.
#> [1] 8 5 5 2 3 1 4 9 6 4 5 9 7 10 2 4 2 4 10 2
m[, "custom"]
#> [1] 8 5 5 2 3 1 4 9 6 4 5 9 7 10 2 4 2 4 10 2
#> Levels: 1 2 3 4 5 6 7 8 9 10
# Important for subsetting, if you subset the object, normally, it will
# return a vector unless you specify all = TRUE
m[1:10] # original vector
#> [1] 8 5 5 2 3 1 4 9 6 4
m[1:10, all = TRUE] # still class MLG
#> 10 original mlgs.
#> [1] 8 5 5 2 3 1 4 9 6 4
