1 xalign <- function(x, pad = TRUE) {
2 lr <- function(v) if(is.numeric(v)) "r" else "l"
4 is.2d <- length(dim(x)) == 2
5 alignment <- if(is.2d) sapply(as.data.frame(x), lr) else lr(x)
6 output <- if(is.2d && pad) c("l", alignment) else alignment
11 xdigits <- function(x, pad = TRUE, zap = getOption("digits")) {
15 v <- zapsmall(abs(v - floor(v)), zap)
16 dec <- if(any(v > 0)) max(nchar(v) - 2L) else 0L
23 is.2d <- length(dim(x)) == 2
24 decimals <- if(is.2d) sapply(as.data.frame(x), dig) else dig(x)
25 output <- if(is.2d && pad) c(0L, decimals) else decimals
30 xdisplay <- function(x, pad = TRUE) {
33 tp <- if(xdigits(v) == 0) "d" else "f"
40 is.2d <- length(dim(x)) == 2
41 disp <- if(is.2d) sapply(as.data.frame(x), type) else type(x)
42 output <- if(is.2d && pad) c("s", disp) else disp