These methods can be used to subset objects based on a numeric vector of indices.
Usage
keep_pos(x, pos, invert = FALSE, ...)
# S3 method for fnames
drop_pos(x, pos, ...)
# S3 method for fnames
keep_pos(x, pos, invert = FALSE, ...)
# S3 method for freqlist
drop_pos(x, pos, ...)
# S3 method for freqlist
keep_pos(x, pos, invert = FALSE, ...)
drop_pos(x, pos, ...)
# S3 method for tokens
drop_pos(x, pos, ...)
# S3 method for tokens
keep_pos(x, pos, invert = FALSE, ...)
# S3 method for types
drop_pos(x, pos, ...)
# S3 method for types
keep_pos(x, pos, invert = FALSE, ...)
Arguments
- x
An object of any of the classes for which the method is implemented.
- pos
A numeric vector, the numbers in which identify positions (= indices) of items in
x
.If the numbers are positive, then their values point to the items that are to be selected.
If the numbers are negative, then their absolute values point to the items that are not to be selected. Positive and negative numbers must not be mixed.
- invert
Logical. Whether the matches should be selected rather than the non-matches.
- ...
Additional arguments.
Details
The methods keep_pos()
and drop_pos()
are part of a family of methods of
the mclm package used to subset different objects. The methods
starting with keep_
extract the items in x
based on the criterion specified
by the second argument. In contrast, the methods starting with drop_
exclude
the items that match the criterion in the same argument.
Calling a drop_
method is equivalent to calling its keep_
counterpart when
the invert
argument is TRUE
.
See also
Other subsetters:
brackets
,
keep_bool()
,
keep_re()
,
keep_types()
Examples
# For a 'freqlist' object --------------------
(flist <- freqlist("The man and the mouse.", as_text = TRUE))
#> Frequency list (types in list: 4, tokens in list: 5)
#> rank type abs_freq nrm_freq
#> ---- ----- -------- --------
#> 1 the 2 4000
#> 2 and 1 2000
#> 3 man 1 2000
#> 4 mouse 1 2000
keep_pos(flist, c(2, 3))
#> Frequency list (types in list: 2, tokens in list: 2)
#> <total number of tokens: 5>
#> rank orig_rank type abs_freq nrm_freq
#> ---- --------- ---- -------- --------
#> 1 2 and 1 2000
#> 2 3 man 1 2000
# For a 'types' object -----------------------
(tps <- as_types(letters[1:10]))
#> Type collection of length 10
#> type
#> ----
#> 1 a
#> 2 b
#> 3 c
#> 4 d
#> 5 e
#> 6 f
#> 7 g
#> 8 h
#> 9 i
#> 10 j
keep_pos(tps, c(1, 3, 5, 7, 9))
#> Type collection of length 5
#> type
#> ----
#> 1 a
#> 2 c
#> 3 e
#> 4 g
#> 5 i
drop_pos(tps, c(1, 3, 5, 7, 9))
#> Type collection of length 5
#> type
#> ----
#> 1 b
#> 2 d
#> 3 f
#> 4 h
#> 5 j
# For a 'tokens' object ----------------------
(tks <- as_tokens(letters[1:10]))
#> Token sequence of length 10
#> idx token
#> --- -----
#> 1 a
#> 2 b
#> 3 c
#> 4 d
#> 5 e
#> 6 f
#> 7 g
#> 8 h
#> 9 i
#> 10 j
keep_pos(tks, c(1, 3, 5, 7, 9))
#> Token sequence of length 5
#> idx token
#> --- -----
#> 1 a
#> 2 c
#> 3 e
#> 4 g
#> 5 i
drop_pos(tks, c(1, 3, 5, 7, 9))
#> Token sequence of length 5
#> idx token
#> --- -----
#> 1 b
#> 2 d
#> 3 f
#> 4 h
#> 5 j