fstrings (version 0.0.0.9000)

fstring: Format and interpolate a string

Description

Expressions enclosed by braces will be evaluated as R code. Single braces can be inserted by doubling them. The inputs are not vectorized.

Usage

fstring_(.x, ..., .sep = "", .envir = parent.frame())
f_(.x, ..., .sep = "", .envir = parent.frame())
fstring(..., .sep = "", .envir = parent.frame())
f(..., .sep = "", .envir = parent.frame())

Arguments

.x
An environment, list or data frame.
...
String(s) to format, multiple inputs are concatenated together before formatting.
.sep
Separator used to separate elements.
.envir
Environment to evaluate each expression in. Expressions are evaluated from left to right.

See Also

https://www.python.org/dev/peps/pep-0498/ upon which this is based.

Examples

Run this code
name <- "Fred"
age <- 50
anniversary <- as.Date("1991-10-12")
f('My name is {name},',
  'my age next year is {age + 1},',
  'my anniversary is {format(anniversary, "%A, %B %d, %Y")}.')

# single braces can be inserted by doubling them
f("My name is {name}, not {{name}}.")

# Named arguments can also be supplied
f('My name is {name},',
  ' my age next year is {age + 1},',
  ' my anniversary is {format(anniversary, "%A, %B %d, %Y")}.',
  name = "Joe",
  age = 40,
  anniversary = as.Date("2001-10-12"))

# The f_ variant is useful in magrittr pipes
library(magrittr)
mtcars %>% f_("{rownames(.)} has {hp} hp")

Run the code above in your browser using DataLab