A method to extract a random sample of members from a list, a collection of spectra or a spectrum object containing multiple spectra in long form.
Usage
pull_sample(x, size, ...)
# Default S3 method
pull_sample(x, size, ...)
# S3 method for class 'list'
pull_sample(
x,
size = 1,
replace = FALSE,
keep.order = TRUE,
simplify = FALSE,
...
)
# S3 method for class 'generic_spct'
pull_sample(x, size = 1, replace = FALSE, keep.order = TRUE, ...)
# S3 method for class 'generic_mspct'
pull_sample(
x,
size = 1,
replace = FALSE,
recursive = FALSE,
keep.order = TRUE,
simplify = FALSE,
...
)
Arguments
- x
An R object possibly containing multiple spectra or other components.
- size
integer The number of spectra to extract, if available.
- ...
currently ignored.
- replace
logical Sample with or without replacement.
- keep.order
logical Return the spectra ordered as in
x
or in random order.- simplify
logical If
size = 1
, andx
is a collection return the spectrum object instead of a collection with it as only member.- recursive
logical If
x
is a collection, expand or not member spectra containing multiple spectra in long form into individual members before sampling.
Value
If x
is an spectrum object, such as a
"filter_spct"
object, the returned object is of the same class but
in most cases containing fewer spectra in long form than x
.
If x
is a collection of spectrum objecta, such as a
"filter_mspct"
object, the returned object is of the same class but
in most cases containing fewer member spectra than x
.
Methods (by class)
pull_sample(default)
: Default for generic functionpull_sample(list)
: Specialization for generic_spctpull_sample(generic_spct)
: Specialization for generic_spctpull_sample(generic_mspct)
: Specialization for generic_mspct
See also
See sample
for the method used for
the sampling.
Examples
a.list <- as.list(letters)
names(a.list) <- LETTERS
set.seed(12345678)
pull_sample(a.list, size = 8)
#> $D
#> [1] "d"
#>
#> $K
#> [1] "k"
#>
#> $L
#> [1] "l"
#>
#> $N
#> [1] "n"
#>
#> $O
#> [1] "o"
#>
#> $P
#> [1] "p"
#>
#> $R
#> [1] "r"
#>
#> $Y
#> [1] "y"
#>
pull_sample(a.list, size = 8, keep.order = FALSE)
#> $M
#> [1] "m"
#>
#> $B
#> [1] "b"
#>
#> $J
#> [1] "j"
#>
#> $Y
#> [1] "y"
#>
#> $Q
#> [1] "q"
#>
#> $R
#> [1] "r"
#>
#> $K
#> [1] "k"
#>
#> $H
#> [1] "h"
#>
pull_sample(a.list, size = 8, replace = TRUE)
#> $A
#> [1] "a"
#>
#> $C
#> [1] "c"
#>
#> $G
#> [1] "g"
#>
#> $G.copy1
#> [1] "g"
#>
#> $I
#> [1] "i"
#>
#> $I.copy1
#> [1] "i"
#>
#> $N
#> [1] "n"
#>
#> $W
#> [1] "w"
#>
pull_sample(a.list, size = 8, replace = TRUE, keep.order = FALSE)
#> $Y
#> [1] "y"
#>
#> $J
#> [1] "j"
#>
#> $G
#> [1] "g"
#>
#> $D
#> [1] "d"
#>
#> $U
#> [1] "u"
#>
#> $N
#> [1] "n"
#>
#> $S
#> [1] "s"
#>
#> $P
#> [1] "p"
#>
pull_sample(a.list, size = 1)
#> $R
#> [1] "r"
#>
pull_sample(a.list, size = 1, simplify = TRUE)
#> [1] "v"