select_cols_byname | R Documentation |
Arguments indicate which columns are to be retained and which are to be removed. For maximum flexibility, arguments are extended regex patterns that are matched against column names.
select_cols_byname(
a,
retain_pattern = "$^",
remove_pattern = "$^",
ignore.case = FALSE,
perl = FALSE,
fixed = FALSE,
useBytes = FALSE
)
a |
a matrix or a list of matrices |
retain_pattern |
an extended regex or list of extended regular expressions that specifies which columns of |
remove_pattern |
an extended regex or list of extended regular expressions that specifies which columns of |
ignore.case , perl , fixed , useBytes |
Arguments passed to |
If a
is NULL
, NULL
is returned.
Patterns are compared against column names using extended regex.
If no column names of a
match the retain_pattern
, NULL
is returned.
If no column names of a
match the remove_pattern
, a
is returned.
Retaining columns takes precedence over removing columns, always.
Some typical patterns are:
"^Electricity$|^Oil$": column names that are EXACTLY "Electricity" or "Oil".
"^Electricity|^Oil": column names that START WITH "Electricity" or "Oil".
"Electricity|Oil": column names that CONTAIN "Electricity" or "Oil" anywhere within them.
Given a list of column names, a pattern can be constructed easily using the make_pattern
function.
RCLabels::make_or_pattern()
escapes regex strings using Hmisc::escaprRegex()
.
This function assumes that retain_pattern
and remove_pattern
have already been
suitably escaped.
Note that the default retain_pattern
and remove_pattern
("$^")
retain nothing and remove nothing.
If the row or column labels contain "[" or "]",
care should be taken to escape those characters.
Hmisc::escapeRegex()
is helpful in such situations.
Note that if all columns are removed from a
, NULL
is returned.
a matrix that is a subset of a
with columns selected by retain_pattern
and remove_pattern
.
m <- matrix(1:16, ncol = 4, dimnames=list(c(paste0("i", 1:4)), paste0("p", 1:4))) %>%
setrowtype("Industries") %>% setcoltype("Commodities")
select_cols_byname(m,
retain_pattern = RCLabels::make_or_pattern(c("p1", "p4"),
pattern_type = "exact"))
select_cols_byname(m,
remove_pattern = RCLabels::make_or_pattern(c("p1", "p3"),
pattern_type = "exact"))
# Also works for lists and data frames
select_cols_byname(list(m,m), retain_pattern = "^p1$|^p4$")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.