
Get Resampling Addresses for Comparative Sample for Estimating Dimorphism
getsampleaddresses.RdFunction 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
comparativecontainsNAs thenstrucmust 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.
strucmust be either (1) a matrix or dataframe of measurements (which can includeNAs) 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 toNULL.- sex.female
An integer scalar (1 or 2) specifying which level of
sexcorresponds to female. Ignored ifsexisNULL. Defaults to 1.- nResamp
Integer specifying the number of resampling iterations to use when
exactisFALSEor whenexactisTRUEbut the total number of unique combinations exceedslimit.- 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 instruc. 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.exactdefaults toFALSE. IfFALSE, Monte Carlo sampling is used instead.- limit
An upper limit for the number of unique samples allowable for exact resampling. if
exactisTRUEand the number of unique combinations would exceedlimitthen Monte Carlo sampling is used instead.limitis ignored ifexactisFALSE.- matchvars
Logical scalar specifying whether to compare the variable names in
comparativeandstrucand pare them both down to the set of shared variables. IfFALSEand variable names differ then an error will be returned. Defaults toFALSE.- replace
Logical scalar passed to
samplespecifying whether or not to sample with replacement. Defaults toFALSE.
Value
A list of class dimorphAds containing resampled addresses and the information used to
generate them.
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"