Apply a Formatting Template to a Numeric or Character Vector¶
Description¶
applyTemplate
is called internally by mtable
to format
coefficients and summary statistics.
Usage¶
applyTemplate(x,template,float.style=getOption("float.style"),
digits=min(3,getOption("digits")),
signif.symbols=getOption("signif.symbols"))
Arguments¶
x
a numeric or character vector to be formatted
template
a character vector that defines the template, see details.
float.style
A character string that is passed to
formatC
byapplyTemplate
; valid values are"e"
,"f"
,"g"
,"fg"
,"E"
, and"G"
. By default, thefloat.style
setting ofoptions
is used. The ‘factory fresh’ setting isoptions(float.style="f")
digits
number of significant digits to use if not specified in the template.
signif.symbols
a named vector that specifies how significance levels are symbolically indicated, values of the vector specify significance levels and names specify the symbols. By default, the
signif.symbols
setting ofoptions
is used. The “factory-fresh” setting isoptions(signif.symbols=c("***"=.001,"**"=.01,"*"=.05))
.
Value¶
applyTemplate
returns a character vector in which template
expressions in template
are substituted by formatted values from
x
. If template
is an array then the return value is also an
array of the same shape.
Details¶
Character vectors that are used as templates may be arbitrary. However,
certain character sequences may form template expressions. A
template expression is of the form ($<POS>:<Format spec>)
, where
“($
” indicates the start of a template expression, “<POS>
”
stands for either an index or name that selects an element from x
and “<Format spec>
” stands for a format specifier. It may contain
an letter indicating the style in which the vector element selected by
<POS>
will be formatted by formatC
, it may contain a number as
the number of significant digits, a “#
” indicating that the number
of signifcant digits will be at most that given by
getOption("digits")
, or *
that means that the value will be
formatted as a significance symbol.
Examples¶
applyTemplate(c(a=.0000000000000304,b=3),template=c("($1:g7#)($a:*)"," (($1:f2)) "))
[,1]
[1,] "3.04e-14***"
[2,] " (0.00) "
applyTemplate(c(a=.0000000000000304,b=3),template=c("($a:g7#)($a:*)"," (($b:f2)) "))
[,1]
[1,] "3.04e-14***"
[2,] " (3.00) "