Skip to contents

Function called by other functions in package 'dimorph' to generate a set of resampled addresses in a dataset for use in resampling analyses of dimorphism.

Usage

getsampleaddresses(
  comparative,
  struc,
  compsex = NULL,
  sex.female = 1,
  nResamp = 10000,
  exact = F,
  limit = 5e+05,
  matchvars = F,
  replace = F
)

Arguments

comparative

A matrix or data frame of measurements from a comparative sample, with rows corresponding to individual specimens and columns corresponding to size variables. Sex data should not be included. If comparative contains NAs then struc must be supplied as a vector rather than as a matrix or data frame.

struc

Structure information for the data set being compared against, typically one or more fossil samples with missing data. struc must be either (1) a matrix or dataframe of measurements (which can include NAs) or (2) a vector of integer sample sizes for each variable.

compsex

A vector indicating sex for the individuals in comparative. Sex information is not included in any calculations in this function but will be included as a list element in the returned object. Defaults to NULL.

sex.female

An integer scalar (1 or 2) specifying which level of sex corresponds to female. Ignored if sex is NULL. Defaults to 1.

nResamp

Integer specifying the number of resampling iterations to use when exact is FALSE or when exact is TRUE but the total number of unique combinations exceeds limit.

exact

Logical scalar specifying whether or not to sample exactly once all possible unique combinations of the comparative data matching the pattern in struc. This procedure takes into account any missing data pattern in struc. For example, for three observations, "ABC" and "CAB" are identical samples if there is no missing data, but they are different samples if the first observation has a missing data pattern that differs from that of the second and third observations. exact defaults to FALSE. If FALSE, Monte Carlo sampling is used instead.

limit

An upper limit for the number of unique samples allowable for exact resampling. if exact is TRUE and the number of unique combinations would exceed limit then Monte Carlo sampling is used instead. limit is ignored if exact is FALSE.

matchvars

Logical scalar specifying whether to compare the variable names in comparative and struc and pare them both down to the set of shared variables. If FALSE and variable names differ then an error will be returned. Defaults to FALSE.

replace

Logical scalar passed to sample specifying whether or not to sample with replacement. Defaults to FALSE.

Value

A list of class dimorphAds containing resampled addresses and the information used to generate them.

See also

Examples

## Univariate addresses
SSDvars <- c("HHMaj")
addressesUni <- getsampleaddresses(
     comparative=apelimbart[apelimbart$Species=="Gorilla gorilla", SSDvars, drop=FALSE],
     struc=fauxil[fauxil$Species=="Fauxil sp. 1", SSDvars, drop=FALSE],
     compsex=apelimbart[apelimbart$Species=="Gorilla gorilla", "Sex"],
     exact=TRUE, matchvars=TRUE, replace=FALSE)
#> Warning: The number of possible combinations (54891018) exceeds the user-specified limit. Monte Carlo sampling will be used.
addressesUni
#>         dimorphAds Object
#> 
#> Comparative data set:
#>   number of specimens: 47 female, 47 male
#>   number of variables: 1
#>   variable names: HHMaj
#> Resampling data structure:
#>   type of resampling: Monte Carlo
#>   number of resampled data sets: 10000
#>   missing data resampling structure: 
#>     sampling individuals, then imposing missing data pattern
#>   number of individuals in each resampled data set: 5
#>   proportion of missing data in resampling structure: 0
#>   subsamples sampled WITHOUT replacement
#>   other resampling parameters:
#>     sex data present
#>     matchvars = TRUE
str(addressesUni)
#> List of 11
#>  $ nResamp    : num 10000
#>  $ addresses  : int [1:5, 1:10000] 63 5 70 80 62 14 39 45 67 37 ...
#>  $ adlist     : NULL
#>  $ comparative:'data.frame':	94 obs. of  1 variable:
#>   ..$ HHMaj: num [1:94] 53.2 52.4 48.2 46.1 51.4 ...
#>  $ compsex    : Factor w/ 2 levels "F","M": 1 1 1 1 1 1 1 1 1 1 ...
#>  $ sex.female : num 1
#>  $ replace    : logi FALSE
#>  $ exact      : logi FALSE
#>  $ matchvars  : logi TRUE
#>  $ struc      :'data.frame':	5 obs. of  1 variable:
#>   ..$ HHMaj: num [1:5] 1 1 1 1 1
#>  $ strucClass : chr "data.frame"
#>  - attr(*, "class")= chr "dimorphAds"

## Multivariate addresses
SSDvars <- c("HHMaj","RHMaj","FHSI","TPML")
addressesMulti1 <- getsampleaddresses(
     comparative=apelimbart[apelimbart$Species=="Gorilla gorilla", SSDvars],
     struc=fauxil[fauxil$Species=="Fauxil sp. 1", SSDvars],
     compsex=apelimbart[apelimbart$Species=="Gorilla gorilla", "Sex"],
     nResamp=10000, matchvars=TRUE, replace=FALSE)
addressesMulti1
#>         dimorphAds Object
#> 
#> Comparative data set:
#>   number of specimens: 47 female, 47 male
#>   number of variables: 4
#>   variable names: HHMaj, RHMaj, FHSI, TPML
#> Resampling data structure:
#>   type of resampling: Monte Carlo
#>   number of resampled data sets: 10000
#>   missing data resampling structure: 
#>     sampling individuals, then imposing missing data pattern
#>   number of individuals in each resampled data set: 10
#>   proportion of missing data in resampling structure: 0.625
#>   subsamples sampled WITHOUT replacement
#>   other resampling parameters:
#>     sex data present
#>     matchvars = TRUE
str(addressesMulti1)
#> List of 11
#>  $ nResamp    : num 10000
#>  $ addresses  : int [1:10, 1:10000] 42 52 44 47 71 53 12 10 79 15 ...
#>  $ adlist     : NULL
#>  $ comparative:'data.frame':	94 obs. of  4 variables:
#>   ..$ HHMaj: num [1:94] 53.2 52.4 48.2 46.1 51.4 ...
#>   ..$ RHMaj: num [1:94] 29.3 27.7 25.5 27.8 27.9 ...
#>   ..$ FHSI : num [1:94] 42.8 42 39.9 40.4 41.2 ...
#>   ..$ TPML : num [1:94] 75.9 75 66.3 68.7 71.1 ...
#>  $ compsex    : Factor w/ 2 levels "F","M": 1 1 1 1 1 1 1 1 1 1 ...
#>  $ sex.female : num 1
#>  $ replace    : logi FALSE
#>  $ exact      : logi FALSE
#>  $ matchvars  : logi TRUE
#>  $ struc      :'data.frame':	10 obs. of  4 variables:
#>   ..$ HHMaj: num [1:10] 1 1 NA 1 NA NA 1 1 NA NA
#>   ..$ RHMaj: num [1:10] NA NA NA NA 1 NA 1 NA NA NA
#>   ..$ FHSI : num [1:10] NA NA 1 NA NA 1 1 NA 1 NA
#>   ..$ TPML : num [1:10] 1 NA 1 NA NA NA NA NA 1 1
#>  $ strucClass : chr "data.frame"
#>  - attr(*, "class")= chr "dimorphAds"

addressesMulti2 <- getsampleaddresses(
     comparative=apelimbart[apelimbart$Species=="Gorilla gorilla", SSDvars],
     struc=setNames(c(2,2,4,5), SSDvars),
     compsex=apelimbart[apelimbart$Species=="Gorilla gorilla", "Sex"],
     nResamp=10000, matchvars=TRUE, replace=FALSE)
addressesMulti2
#>         dimorphAds Object
#> 
#> Comparative data set:
#>   number of specimens: 47 female, 47 male
#>   number of variables: 4
#>   variable names: HHMaj, RHMaj, FHSI, TPML
#> Resampling data structure:
#>   type of resampling: Monte Carlo
#>   number of resampled data sets: 10000
#>   missing data resampling structure: 
#>     sampling variable-specific number of individuals for each variable
#>   number of resampled individuals by variable in each resampled data set:
#>     HHMaj: 2
#>     RHMaj: 2
#>     FHSI: 4
#>     TPML: 5
#>   subsamples sampled WITHOUT replacement
#>   other resampling parameters:
#>     sex data present
#>     matchvars = TRUE
str(addressesMulti2)
#> List of 11
#>  $ nResamp    : num 10000
#>  $ addresses  : int [1:13, 1:10000] 8 5 19 72 58 27 47 48 85 31 ...
#>  $ adlist     :List of 4
#>   ..$ HHMaj: int [1:2, 1:10000] 8 5 15 66 27 67 9 81 13 70 ...
#>   ..$ RHMaj: int [1:2, 1:10000] 19 72 55 50 71 36 81 55 87 15 ...
#>   ..$ FHSI : int [1:4, 1:10000] 58 27 47 48 17 84 42 92 73 56 ...
#>   ..$ TPML : int [1:5, 1:10000] 85 31 89 37 44 23 48 2 56 77 ...
#>  $ comparative:'data.frame':	94 obs. of  4 variables:
#>   ..$ HHMaj: num [1:94] 53.2 52.4 48.2 46.1 51.4 ...
#>   ..$ RHMaj: num [1:94] 29.3 27.7 25.5 27.8 27.9 ...
#>   ..$ FHSI : num [1:94] 42.8 42 39.9 40.4 41.2 ...
#>   ..$ TPML : num [1:94] 75.9 75 66.3 68.7 71.1 ...
#>  $ compsex    : Factor w/ 2 levels "F","M": 1 1 1 1 1 1 1 1 1 1 ...
#>  $ sex.female : num 1
#>  $ replace    : logi FALSE
#>  $ exact      : logi FALSE
#>  $ matchvars  : logi TRUE
#>  $ struc      : Named int [1:4] 2 2 4 5
#>   ..- attr(*, "names")= chr [1:4] "HHMaj" "RHMaj" "FHSI" "TPML"
#>  $ strucClass : chr "vector"
#>  - attr(*, "class")= chr "dimorphAds"

addressesMulti3 <- getsampleaddresses(
     comparative=apelimbart[apelimbart$Species=="Gorilla gorilla", "FHSI"],
     struc=setNames(4, "FHSI"),
     compsex=apelimbart[apelimbart$Species=="Gorilla gorilla", "Sex"],
     nResamp=10000, matchvars=TRUE, replace=FALSE)
addressesMulti3
#>         dimorphAds Object
#> 
#> Comparative data set:
#>   number of specimens: 47 female, 47 male
#>   number of variables: 1
#>   variable names: FHSI
#> Resampling data structure:
#>   type of resampling: Monte Carlo
#>   number of resampled data sets: 10000
#>   missing data resampling structure: 
#>     sampling individuals, then imposing missing data pattern
#>   number of individuals in each resampled data set: 4
#>   proportion of missing data in resampling structure: 0
#>   subsamples sampled WITHOUT replacement
#>   other resampling parameters:
#>     sex data present
#>     matchvars = TRUE
str(addressesMulti3)
#> List of 11
#>  $ nResamp    : num 10000
#>  $ addresses  : int [1:4, 1:10000] 59 61 13 64 48 6 52 42 44 20 ...
#>  $ adlist     : NULL
#>  $ comparative:'data.frame':	94 obs. of  1 variable:
#>   ..$ FHSI: num [1:94] 42.8 42 39.9 40.4 41.2 ...
#>  $ compsex    : Factor w/ 2 levels "F","M": 1 1 1 1 1 1 1 1 1 1 ...
#>  $ sex.female : num 1
#>  $ replace    : logi FALSE
#>  $ exact      : logi FALSE
#>  $ matchvars  : logi TRUE
#>  $ struc      :'data.frame':	4 obs. of  1 variable:
#>   ..$ FHSI: num [1:4] 1 1 1 1
#>  $ strucClass : chr "data.frame"
#>  - attr(*, "class")= chr "dimorphAds"

# Now with missing data also in the comparative sample
SSDvars <- c("FHSI", "TPML", "TPMAP", "TPLAP", "HHMaj",
             "HHMin", "RHMaj", "RDAP", "RDML")
Fs1 <- fauxil[fauxil$Species=="Fauxil sp. 1", SSDvars]
Fs2 <- fauxil[fauxil$Species=="Fauxil sp. 2", SSDvars]
n.Fs1 <- apply(Fs1, 2, function(x) sum(!is.na(x)))
n.Fs2 <- apply(Fs2, 2, function(x) sum(!is.na(x)))
n.Fs1
#>  FHSI  TPML TPMAP TPLAP HHMaj HHMin RHMaj  RDAP  RDML 
#>     4     4     2     4     5     6     2     3     2 
n.Fs2
#>  FHSI  TPML TPMAP TPLAP HHMaj HHMin RHMaj  RDAP  RDML 
#>     8     2     5     4     5     2     3     3     5 
n.min <- apply(rbind(n.Fs1,n.Fs2), 2, min)
gorAds <- getsampleaddresses(
     comparative=apelimbart[apelimbart$Species=="Gorilla gorilla", SSDvars],
     struc=Fs1,
     exact=TRUE, limit=500000, replace=FALSE)
#> Warning: The number of possible combinations (1.21545273811855e+29) exceeds the user-specified limit. Monte Carlo sampling will be used.
gorAds
#>         dimorphAds Object
#> 
#> Comparative data set:
#>   number of specimens: 94 (sex unspecified)
#>   number of variables: 9
#>   variable names: FHSI, TPML, TPMAP, TPLAP, HHMaj, HHMin, RHMaj, RDAP, RDML
#> Resampling data structure:
#>   type of resampling: Monte Carlo
#>   number of resampled data sets: 10000
#>   missing data resampling structure: 
#>     sampling individuals, then imposing missing data pattern
#>   number of individuals in each resampled data set: 15
#>   proportion of missing data in resampling structure: 0.763
#>   subsamples sampled WITHOUT replacement
#>   other resampling parameters:
#>     sex data absent
#>     matchvars = FALSE
str(gorAds)
#> List of 11
#>  $ nResamp    : num 10000
#>  $ addresses  : int [1:15, 1:10000] 31 51 57 16 81 5 47 11 8 54 ...
#>  $ adlist     : NULL
#>  $ comparative:'data.frame':	94 obs. of  9 variables:
#>   ..$ FHSI : num [1:94] 42.8 42 39.9 40.4 41.2 ...
#>   ..$ TPML : num [1:94] 75.9 75 66.3 68.7 71.1 ...
#>   ..$ TPMAP: num [1:94] 47.1 47.9 41.4 43.8 42.9 ...
#>   ..$ TPLAP: num [1:94] 35.8 34.2 29.7 28.9 32.4 ...
#>   ..$ HHMaj: num [1:94] 53.2 52.4 48.2 46.1 51.4 ...
#>   ..$ HHMin: num [1:94] 45.8 46.8 43 40.8 45.9 ...
#>   ..$ RHMaj: num [1:94] 29.3 27.7 25.5 27.8 27.9 ...
#>   ..$ RDAP : num [1:94] 21 19.6 19.6 19.1 19.3 ...
#>   ..$ RDML : num [1:94] 33.5 28.4 25.5 30.3 29.1 ...
#>  $ compsex    : NULL
#>  $ sex.female : NULL
#>  $ replace    : logi FALSE
#>  $ exact      : logi FALSE
#>  $ matchvars  : logi FALSE
#>  $ struc      :'data.frame':	15 obs. of  9 variables:
#>   ..$ FHSI : num [1:15] NA NA NA 1 NA NA NA 1 NA 1 ...
#>   ..$ TPML : num [1:15] NA 1 NA 1 NA NA NA NA NA NA ...
#>   ..$ TPMAP: num [1:15] 1 NA NA 1 NA NA NA NA NA NA ...
#>   ..$ TPLAP: num [1:15] NA NA NA NA 1 1 NA NA NA 1 ...
#>   ..$ HHMaj: num [1:15] NA 1 1 NA 1 NA NA NA NA 1 ...
#>   ..$ HHMin: num [1:15] NA NA 1 1 1 NA NA NA 1 NA ...
#>   ..$ RHMaj: num [1:15] NA NA NA NA NA NA 1 NA NA 1 ...
#>   ..$ RDAP : num [1:15] NA NA NA 1 NA 1 NA 1 NA NA ...
#>   ..$ RDML : num [1:15] NA 1 NA NA NA NA NA NA 1 NA ...
#>  $ strucClass : chr "data.frame"
#>  - attr(*, "class")= chr "dimorphAds"

Fs1Ads <- getsampleaddresses(comparative=Fs1, struc=n.min,
                             exact=TRUE, limit=500000, replace=FALSE)
Fs1Ads
#>         dimorphAds Object
#> 
#> Comparative data set:
#>   number of specimens: 16 (sex unspecified)
#>   number of variables: 9
#>   variable names: FHSI, TPML, TPMAP, TPLAP, HHMaj, HHMin, RHMaj, RDAP, RDML
#> Resampling data structure:
#>   type of resampling: exact
#>   number of resampled data sets: 90
#>   missing data resampling structure: 
#>     sampling variable-specific number of individuals for each variable
#>   number of resampled individuals by variable in each resampled data set:
#>     FHSI: 4
#>     TPML: 2
#>     TPMAP: 2
#>     TPLAP: 4
#>     HHMaj: 5
#>     HHMin: 2
#>     RHMaj: 2
#>     RDAP: 3
#>     RDML: 2
#>   subsamples sampled WITHOUT replacement
#>   other resampling parameters:
#>     sex data absent
#>     matchvars = FALSE
str(Fs1Ads)
#> List of 11
#>  $ nResamp    : num 90
#>  $ addresses  : int [1:15, 1:90] 4 9 11 15 2 1 5 6 12 3 ...
#>  $ adlist     :List of 9
#>   ..$ FHSI : int [1:4, 1:90] 4 9 11 15 4 9 11 15 4 9 ...
#>   ..$ TPML : int [1:2, 1:90] 2 4 2 15 2 16 4 15 4 16 ...
#>   ..$ TPMAP: int [1:2, 1:90] 1 4 1 4 1 4 1 4 1 4 ...
#>   ..$ TPLAP: int [1:4, 1:90] 5 6 11 12 5 6 11 12 5 6 ...
#>   ..$ HHMaj: int [1:5, 1:90] 2 3 5 11 14 2 3 5 11 14 ...
#>   ..$ HHMin: int [1:2, 1:90] 3 4 3 4 3 4 3 4 3 4 ...
#>   ..$ RHMaj: int [1:2, 1:90] 7 11 7 11 7 11 7 11 7 11 ...
#>   ..$ RDAP : int [1:3, 1:90] 4 6 9 4 6 9 4 6 9 4 ...
#>   ..$ RDML : int [1:2, 1:90] 2 10 2 10 2 10 2 10 2 10 ...
#>  $ comparative:'data.frame':	16 obs. of  9 variables:
#>   ..$ FHSI : num [1:16] NA NA NA 39.9 NA ...
#>   ..$ TPML : num [1:16] NA 69.4 NA 66.3 NA ...
#>   ..$ TPMAP: num [1:16] 40.7 NA NA 41.4 NA ...
#>   ..$ TPLAP: num [1:16] NA NA NA NA 32.4 ...
#>   ..$ HHMaj: num [1:16] NA 46.2 50.9 NA 49.5 ...
#>   ..$ HHMin: num [1:16] NA NA 42.3 43 44.1 ...
#>   ..$ RHMaj: num [1:16] NA NA NA NA NA ...
#>   ..$ RDAP : num [1:16] NA NA NA 19.6 NA ...
#>   ..$ RDML : num [1:16] NA 28.9 NA NA NA ...
#>  $ compsex    : NULL
#>  $ sex.female : NULL
#>  $ replace    : logi FALSE
#>  $ exact      : logi TRUE
#>  $ matchvars  : logi FALSE
#>  $ struc      : Named int [1:9] 4 2 2 4 5 2 2 3 2
#>   ..- attr(*, "names")= chr [1:9] "FHSI" "TPML" "TPMAP" "TPLAP" ...
#>  $ strucClass : chr "vector"
#>  - attr(*, "class")= chr "dimorphAds"

Fs1AdsReplace <- getsampleaddresses(comparative=Fs1, struc=n.min,
                                    exact=TRUE, limit=500000, nResamp=1000,
                                    replace=TRUE)
#> Warning: The number of possible combinations (8751645000) exceeds the user-specified limit. Monte Carlo sampling will be used.
Fs1AdsReplace
#>         dimorphAds Object
#> 
#> Comparative data set:
#>   number of specimens: 16 (sex unspecified)
#>   number of variables: 9
#>   variable names: FHSI, TPML, TPMAP, TPLAP, HHMaj, HHMin, RHMaj, RDAP, RDML
#> Resampling data structure:
#>   type of resampling: Monte Carlo
#>   number of resampled data sets: 1000
#>   missing data resampling structure: 
#>     sampling variable-specific number of individuals for each variable
#>   number of resampled individuals by variable in each resampled data set:
#>     FHSI: 4
#>     TPML: 2
#>     TPMAP: 2
#>     TPLAP: 4
#>     HHMaj: 5
#>     HHMin: 2
#>     RHMaj: 2
#>     RDAP: 3
#>     RDML: 2
#>   subsamples sampled WITH replacement
#>   other resampling parameters:
#>     sex data absent
#>     matchvars = FALSE
str(Fs1AdsReplace)
#> List of 11
#>  $ nResamp    : num 1000
#>  $ addresses  : int [1:22, 1:1000] 15 15 2 2 1 1 11 11 14 14 ...
#>  $ adlist     :List of 9
#>   ..$ FHSI : int [1:4, 1:1000] 9 15 4 15 11 4 15 4 9 9 ...
#>   ..$ TPML : int [1:2, 1:1000] 2 2 15 2 15 16 15 16 2 4 ...
#>   ..$ TPMAP: int [1:2, 1:1000] 1 1 4 4 4 4 1 1 1 1 ...
#>   ..$ TPLAP: int [1:4, 1:1000] 5 6 11 11 5 12 12 12 5 5 ...
#>   ..$ HHMaj: int [1:5, 1:1000] 11 3 14 14 5 5 2 3 14 14 ...
#>   ..$ HHMin: int [1:2, 1:1000] 13 12 4 10 4 13 10 12 13 13 ...
#>   ..$ RHMaj: int [1:2, 1:1000] 7 7 7 11 7 7 7 11 7 11 ...
#>   ..$ RDAP : int [1:3, 1:1000] 4 6 4 6 9 6 9 6 4 6 ...
#>   ..$ RDML : int [1:2, 1:1000] 2 10 10 2 2 2 10 2 2 2 ...
#>  $ comparative:'data.frame':	16 obs. of  9 variables:
#>   ..$ FHSI : num [1:16] NA NA NA 39.9 NA ...
#>   ..$ TPML : num [1:16] NA 69.4 NA 66.3 NA ...
#>   ..$ TPMAP: num [1:16] 40.7 NA NA 41.4 NA ...
#>   ..$ TPLAP: num [1:16] NA NA NA NA 32.4 ...
#>   ..$ HHMaj: num [1:16] NA 46.2 50.9 NA 49.5 ...
#>   ..$ HHMin: num [1:16] NA NA 42.3 43 44.1 ...
#>   ..$ RHMaj: num [1:16] NA NA NA NA NA ...
#>   ..$ RDAP : num [1:16] NA NA NA 19.6 NA ...
#>   ..$ RDML : num [1:16] NA 28.9 NA NA NA ...
#>  $ compsex    : NULL
#>  $ sex.female : NULL
#>  $ replace    : logi TRUE
#>  $ exact      : logi FALSE
#>  $ matchvars  : logi FALSE
#>  $ struc      : Named int [1:9] 4 2 2 4 5 2 2 3 2
#>   ..- attr(*, "names")= chr [1:9] "FHSI" "TPML" "TPMAP" "TPLAP" ...
#>  $ strucClass : chr "vector"
#>  - attr(*, "class")= chr "dimorphAds"

Fs2Ads <- getsampleaddresses(comparative=Fs2, struc=n.min,
                             exact=TRUE, limit=500000, replace=FALSE)
Fs2Ads
#>         dimorphAds Object
#> 
#> Comparative data set:
#>   number of specimens: 19 (sex unspecified)
#>   number of variables: 9
#>   variable names: FHSI, TPML, TPMAP, TPLAP, HHMaj, HHMin, RHMaj, RDAP, RDML
#> Resampling data structure:
#>   type of resampling: exact
#>   number of resampled data sets: 21000
#>   missing data resampling structure: 
#>     sampling variable-specific number of individuals for each variable
#>   number of resampled individuals by variable in each resampled data set:
#>     FHSI: 4
#>     TPML: 2
#>     TPMAP: 2
#>     TPLAP: 4
#>     HHMaj: 5
#>     HHMin: 2
#>     RHMaj: 2
#>     RDAP: 3
#>     RDML: 2
#>   subsamples sampled WITHOUT replacement
#>   other resampling parameters:
#>     sex data absent
#>     matchvars = FALSE
str(Fs2Ads)
#> List of 11
#>  $ nResamp    : num 21000
#>  $ addresses  : int [1:19, 1:21000] 1 4 5 8 6 18 3 14 15 19 ...
#>  $ adlist     :List of 9
#>   ..$ FHSI : int [1:4, 1:21000] 1 4 5 8 1 4 5 9 1 4 ...
#>   ..$ TPML : int [1:2, 1:21000] 6 18 6 18 6 18 6 18 6 18 ...
#>   ..$ TPMAP: int [1:2, 1:21000] 4 5 4 5 4 5 4 5 4 5 ...
#>   ..$ TPLAP: int [1:4, 1:21000] 3 14 15 19 3 14 15 19 3 14 ...
#>   ..$ HHMaj: int [1:5, 1:21000] 2 4 6 9 10 2 4 6 9 10 ...
#>   ..$ HHMin: int [1:2, 1:21000] 15 19 15 19 15 19 15 19 15 19 ...
#>   ..$ RHMaj: int [1:2, 1:21000] 9 10 9 10 9 10 9 10 9 10 ...
#>   ..$ RDAP : int [1:3, 1:21000] 1 6 9 1 6 9 1 6 9 1 ...
#>   ..$ RDML : int [1:2, 1:21000] 2 8 2 8 2 8 2 8 2 8 ...
#>  $ comparative:'data.frame':	19 obs. of  9 variables:
#>   ..$ FHSI : num [1:19] 39.7 NA NA 41.8 43.9 ...
#>   ..$ TPML : num [1:19] NA NA NA NA NA ...
#>   ..$ TPMAP: num [1:19] NA NA NA 46.3 45.9 ...
#>   ..$ TPLAP: num [1:19] NA NA 36.8 NA NA ...
#>   ..$ HHMaj: num [1:19] NA 40 NA 40.2 NA ...
#>   ..$ HHMin: num [1:19] NA NA NA NA NA NA NA NA NA NA ...
#>   ..$ RHMaj: num [1:19] NA NA NA NA NA ...
#>   ..$ RDAP : num [1:19] 13.8 NA NA NA NA ...
#>   ..$ RDML : num [1:19] NA 26.1 NA NA NA ...
#>  $ compsex    : NULL
#>  $ sex.female : NULL
#>  $ replace    : logi FALSE
#>  $ exact      : logi TRUE
#>  $ matchvars  : logi FALSE
#>  $ struc      : Named int [1:9] 4 2 2 4 5 2 2 3 2
#>   ..- attr(*, "names")= chr [1:9] "FHSI" "TPML" "TPMAP" "TPLAP" ...
#>  $ strucClass : chr "vector"
#>  - attr(*, "class")= chr "dimorphAds"