Human-Friendly Text from Unknown Strings

Simple functions for joining strings. Construct human-friendly messages whose elements aren't known in advance, like in stop, warning, or message, from clean code.


Build Status

Each function in concatenate returns a comma-separated string. (A length-one character vector.) They can be used to construct human-friendly messages whose elements aren't known in advance, like calls to message, warning or stop, from clean code.

Basics

The workhorse function in concatenate is cc.

cc("one fish", "two fish")

Its wrappers cc_or and cc_and insert "or" and "and" between the last two elements of the input.

cc_and("this", "that", "the other")
#> [1] "this, that and the other"
cc_or("one way", "another")
#> [1] "one way or another"

cn and its derivatives combine these functions with sprintf-like substitution and the grammatical number awareness of ngettext.

x <- unique(iris$Species)
cn_and(x, "a single species: %c", "%n unique species: %c")
#> [1] "3 unique species: setosa, versicolor and virginica"

There are row-wise data.frame methods for the cn functions.

singular <- "%n row: %c"
plural <- "%n rows whose values are %c"
cn(chickwts[1, ], singular, plural)
#> [1] "1 row: 179, horsebean"
cn_and(chickwts[1:3, 1, drop = FALSE], singular, plural)
#> [1] "3 rows whose values are 179, 160 and 136"

The cc functions are also available as binary infix operators.

x <- "important value"
x %+% "!"
#> [1] "important value!"

Install

devtools::install_github('jamesdunham/concatenate')

News

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("concatenate")

1.0.0 by James Dunham, 3 years ago


https://github.com/jamesdunham/concatenate


Report a bug at https://github.com/jamesdunham/concatenate/issues


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


Authors: James Dunham [aut, cre]


Documentation:   PDF Manual  


GPL (>= 3.2) license


Imports methods

Suggests testthat


See at CRAN