Adaptive Builder for Formatted Strings

Provides a set of functions to facilitate building formatted strings under various replacement rules: C-style formatting, variable-based formatting, and number-based formatting. C-style formatting is basically identical to built-in function 'sprintf'. Variable-based formatting allows users to put variable names in a formatted string which will be replaced by variable values. Number-based formatting allows users to use index numbers to represent the corresponding argument value to appear in the string.


Linux Build Status Windows Build status Coverage Status CRAN Version

rprintf is an adaptive builder for formatted strings. Currently it provides a set of tools for building formatted strings under various replacement rules:

  • C-style formatting with sprintf
  • Number-based formatting
  • Variable-based formatting

The primary goal of this package is to make it easier to produce formatted strings in all popular styles.

Installation

You can install from CRAN with

install.packages("rprintf")

or you can install the latest development version from GitHub with

devtools::install_github("rprintf","renkun-ken")

Examples

The following examples demonstrate how rprintf functions works. You should be familiar with how sprintf works first. See the documentation for more details.

C-style formatting

library(rprintf)
rprintf("Hello, %s", "world")
[1] "Hello, world"
rprintf("%s (%d years old)", "Ken", 24)
[1] "Ken (24 years old)"
rprintf("He is %d but has a height of %.1fcm", 18, 190)
[1] "He is 18 but has a height of 190.0cm"

Number-based formatting

rprintf("Hello, {1}", "world")
[1] "Hello, world"
rprintf("{1} ({2} years old)","Ken",24)
[1] "Ken (24 years old)"
rprintf("He is {1} but has a height of {2:.2f}cm",18,190)
[1] "He is 18 but has a height of 190.00cm"
rprintf("{1}, {2:.1f}, {3:+.2f}, {2}, {1:.0f}",1.56,2.34,3.78)
[1] "1.56, 2.3, +3.78, 2.34, 2"
rprintf("{2},{1}","x","y")
[1] "y,x"

Variable-based formatting

rprintf("Hello, $name", name="world")
[1] "Hello, world"
rprintf("$name ($age years old)",name="Ken",age=24)
[1] "Ken (24 years old)"
rprintf("He is $age but has a height of $height:.2fcm",age=18,height=190)
[1] "He is 18 but has a height of 190.00cm"
rprintf("$a, $b:.1f, $c:+.2f, $b, $a:.0f",a=1.56,b=2.34,c=3.78)
[1] "1.56, 2.3, +3.78, 2.34, 2"

For each type of formatting, a specialized function is also provided. rprintv only handles named variable-based formatting, and rprintn only handles number-based formatting.

License

This package is under MIT License.

News

v0.2

Import stringi package instead of stringr

v0.1-2 (2014-08-15)

Maintenance update

v0.1-1 (2014-07-12)

Support list argument

v0.1 (2014-06-06)

rprintf, rprintv, and rprintn functions are implemented.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("rprintf")

0.2.1 by Kun Ren, 4 years ago


http://renkun.me/rprintf, https://github.com/renkun-ken/rprintf


Report a bug at https://github.com/renkun-ken/rprintf/issues


Browse source code at https://github.com/cran/rprintf


Authors: Kun Ren <[email protected]>


Documentation:   PDF Manual  


Task views: Reproducible Research


MIT + file LICENSE license


Imports stringi

Suggests testthat, knitr


Imported by dexter.

Suggested by glue.


See at CRAN