[R] Word-Wrapper Library/Package?
Leonard Mada
|eo@m@d@ @end|ng |rom @yon|c@eu
Wed Sep 29 04:25:43 CEST 2021
Dear R-Users,
Does anyone know any package or library that implements functions for
word wrapping?
I did implement a very rudimentary one (Github link below), but would
like to avoid to reinvent the wheel. Considering that word-wrapping is a
very common task, it should be available even in base R (e.g. in a
"format" module/package).
Sincerely,
Leonard
=======
The latest versions of the functions are on Github:
https://github.com/discoleo/R/blob/master/Stat/Tools.CRAN.R
# Note:
# - the function implementing word wrapping: split.N.line(...);
# - for the example below: the functions defined in Tools.CRAN.R are
required;
Examples:
### Search CRAN
library(pkgsearch)
searchCran = function(s, from=1, len=60, len.print=20, extend="*",
sep=" ", sep.h="-") {
if( ! is.null(extend)) s = paste0(s, extend);
x = advanced_search(s, size=len, from=from);
if(length(x$package_data) == 0) {
cat("No packages found!", sep="\n");
} else {
scroll.pkg(x, len=len.print, sep=sep, sep.h=sep.h);
}
invisible(x)
}
# with nice formatting & printing:
x = searchCran("text", from=60, sep.h="-")
scroll.pkg(x, start=20, len=21, sep.h = "-*")
# test of sep.h=NULL vs ...
Notes:
1.) split.N.line:
- was implemented to output a pre-specified number of lines (kind of
"maxLines"), but this is not required from an actual word-wrapper;
- it was an initial design decision when implementing the format.lines()
function; but I plan to implement a 1-pass exact algorithm during the
next few days anyway;
2.) Refactoring
- I will also move the formatting code to a new file: probably
Tools.Formatting.R;
- the same applies for the formatting code for ftable (currently in file
Tools.Data.R);
3.) Package gridtext
- seems to have some word-wrapping functionality, but does not seem to
expose it;
- I am also currently focused on character-based word wrapping (e.g. for
RConsole);
[[alternative HTML version deleted]]
More information about the R-help
mailing list