Symbolic Number Coding

Usage

symnum(x, cutpoints=c(0.3, 0.6, 0.8, 0.9, 0.95),
          symbols=c(" ", ".", ",", "+", "*", "B"), na="?", eps=1e-5,
       corr = missing(cutpoints), show.max = if(corr) "1", show.min = NULL,
       lower.triangular = corr & is.matrix(x),
       diag.lower.tri = corr & !is.null(show.max))

Arguments

x numeric vector or array.
cutpoints numeric vector whose values cutpoints[j] == c[j] (after augmentation, see corr below) are used for intervals.
symbols character vector, one shorter than (the augmented, see corr below) cutpoints. symbols[j]== s[j] are used as ``code'' for the (half open) interval (c[j], c[j+1]].
na character. How NAs are coded.
eps absolute precision to be used at left and right boundary.
corr logical. If TRUE, x contains correlations. The cutpoints are augmented by 0 and 1 and abs(x) is coded.
show.max If TRUE, or of mode character, the maximal cutpoint is coded especially.
show.min If TRUE, or of mode character, the minmal cutpoint is coded especially.
lower.triangular logical. If TRUE and x is a matrix, only the lower triangular part of the matrix is coded as non-blank.
diag.lower.tri logical. If lower.triangular and this are TRUE, the diagonal part of the matrix is shown.

Value

An atomic character object of class noquote and the same dimensions as x. It has an attribute, "legend" containing a legend of the returned character codes, in the form

c[1] `s[1]' c[2] `s[2]' ... `s[n]' c_[n+1]

where c[j] = cutpoints[j] and s[j] = symbols[j].

Author(s)

Martin Maechler maechler@stat.math.ethz.ch

See Also

as.character

Examples

ii _ 0:8; names(ii) _ ii
symnum(ii, cut= 2*(0:4), sym = c(".", "-", "+", "$"))
symnum(ii, cut= 2*(0:4), sym = c(".", "-", "+", "$"), show.max=T)

##-- Symbolic correlation matrices:
data(attitude)
symnum(cor(attitude), diag = F)

symnum(cor(rbind(1, rnorm(25), rnorm(25)^2)))
symnum(cor(matrix(rexp(30, 1), 5, 18))) # <<-- PATTERN ! --
symnum(cm1 <- cor(matrix(rnorm(90) ,  5, 18))) # < White Noise SMALL n
symnum(cm1, diag=F)
symnum(cm2 <- cor(matrix(rnorm(900), 50, 18))) # < White Noise "BIG" n
symnum(cm2, lower=F)

## NA's:
Cm <- cor(matrix(rnorm(60),  10, 6)); Cm[c(3,6), 2] <- NA
symnum(Cm, show.max=NULL)

## Significance stars for P-values:
pval <- rev(sort(c(outer(1:6,10^-(1:3)))))
symp <- symnum(pval, corr=F,
		cutpoints = c(0,  .001,.01,.05, .1, 1),
		symbols   =  c("***","**","*","."," "))
noquote(cbind(P.val = format(pval), Signif= symp))


[Package Contents]