
These functions are wrappers around glue::glue()
and glue::glue_data()
,
which provide a powerful and elegant syntax for interpolating strings.
These wrappers provide a small set of the full options. Use the functions
directly from glue for more control.
str_glue(..., .sep = "", .envir = parent.frame())str_glue_data(.x, ..., .sep = "", .envir = parent.frame(), .na = "NA")
[expressions
]
Unnamed arguments are taken to be expression
string(s) to format. Multiple inputs are concatenated together before formatting.
Named arguments are taken to be temporary variables available for substitution.
[character(1)
: ‘""’]
Separator used to separate elements.
[environment
: parent.frame()
]
Environment to evaluate each expression in. Expressions are
evaluated from left to right. If .x
is an environment, the expressions are
evaluated in that environment and .envir
is ignored. If NULL
is passed, it is equivalent to emptyenv()
.
[listish
]
An environment, list, or data frame used to lookup values.
[character(1)
: ‘NA’]
Value to replace NA
values
with. If NULL
missing values are propagated, that is an NA
result will
cause NA
output. Otherwise the value is replaced by the value of .na
.
name <- "Fred"
age <- 50
anniversary <- as.Date("1991-10-12")
str_glue(
"My name is {name}, ",
"my age next year is {age + 1}, ",
"and my anniversary is {format(anniversary, '%A, %B %d, %Y')}."
)
# single braces can be inserted by doubling them
str_glue("My name is {name}, not {{name}}.")
# You can also used named arguments
str_glue(
"My name is {name}, ",
"and my age next year is {age + 1}.",
name = "Joe",
age = 40
)
# `str_glue_data()` is useful in data pipelines
mtcars %>% str_glue_data("{rownames(.)} has {hp} hp")
Run the code above in your browser using DataLab