Subset an object based on a selection of types
Source:R/generics.R
, R/fnames.R
, R/freqlist.R
, and 2 more
keep_types.Rd
These methods can be used to subset objects based on a list of types.
Usage
keep_types(x, types, invert = FALSE, ...)
drop_types(x, types, ...)
# S3 method for fnames
drop_types(x, types, ...)
# S3 method for fnames
keep_types(x, types, invert = FALSE, ...)
# S3 method for freqlist
drop_types(x, types, ...)
# S3 method for freqlist
keep_types(x, types, invert = FALSE, ...)
# S3 method for tokens
drop_types(x, types, ...)
# S3 method for tokens
keep_types(x, types, invert = FALSE, ...)
# S3 method for types
drop_types(x, types, ...)
# S3 method for types
keep_types(x, types, invert = FALSE, ...)
Arguments
- x
An object of any of the classes for which the method is implemented.
- types
Either an object of the class
types
or a character vector.- 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
.
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_types(flist, c("man", "and"))
#> Frequency list (types in list: 2, tokens in list: 2)
#> <total number of tokens: 5>
#> rank orig_rank type abs_freq nrm_freq
#> ---- --------- ---- -------- --------
#> 2 3 man 1 2000
#> 1 2 and 1 2000
drop_types(flist, c("man", "and"))
#> Frequency list (types in list: 2, tokens in list: 3)
#> <total number of tokens: 5>
#> rank orig_rank type abs_freq nrm_freq
#> ---- --------- ----- -------- --------
#> 1 1 the 2 4000
#> 2 4 mouse 1 2000
keep_types(flist, c("man", "and"), invert = TRUE) # same as drop_types()
#> Frequency list (types in list: 2, tokens in list: 3)
#> <total number of tokens: 5>
#> rank orig_rank type abs_freq nrm_freq
#> ---- --------- ----- -------- --------
#> 1 1 the 2 4000
#> 2 4 mouse 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_types(tps, c("a", "c", "e", "g", "i"))
#> Type collection of length 5
#> type
#> ----
#> 1 a
#> 2 c
#> 3 e
#> 4 g
#> 5 i
drop_types(tps, c("a", "c", "e", "g", "i"))
#> 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_types(tks, c("a", "c", "e", "g", "i"))
#> Token sequence of length 5
#> idx token
#> --- -----
#> 1 a
#> 2 c
#> 3 e
#> 4 g
#> 5 i
drop_types(tks, c("a", "c", "e", "g", "i"))
#> Token sequence of length 5
#> idx token
#> --- -----
#> 1 b
#> 2 d
#> 3 f
#> 4 h
#> 5 j