I'm pretty sure I've seen some examples of a function printing zero entries in a matrix as dots, but I'm not able to find it now... Any suggestions...? Thanks in advance. (Of course, I might have dreamt of such a function...) Best, Giovanni -- __________________________________________________ [ ] [ Giovanni Petris GPetris at uark.edu ] [ Department of Mathematical Sciences ] [ University of Arkansas - Fayetteville, AR 72701 ] [ Ph: (479) 575-6324, 575-8630 (fax) ] [ http://definetti.uark.edu/~gpetris/ ] [__________________________________________________]
Giovanni Petris wrote:> I'm pretty sure I've seen some examples of a function printing zero > entries in a matrix as dots, but I'm not able to find it now... > Any suggestions...? Thanks in advance. (Of course, I might have dreamt > of such a function...) > > Best, > Giovanni >I just so have something that may help: print.matrix2 <- function(x, zero = ".", ...) { zeros <- which(x == 0, arr.ind = TRUE) x[zeros] <- zero print(x, quote = FALSE, right = TRUE, ...) invisible() } > print.matrix2(diag(5)) [,1] [,2] [,3] [,4] [,5] [1,] 1 . . . . [2,] . 1 . . . [3,] . . 1 . . [4,] . . . 1 . [5,] . . . . 1 > Sundar
Many thanks to J.R. Lockwood and to Sundar Dorai-Raj for sending me
their suggestions. I ended up using Sundar's function blended with a
flavour of `zapsmall':
print.matrix2 <- function(x, zero = ".",
digits=getOption("digits"), ...) {
if (all(ina <- is.na(x)))
return(x)
if (length(digits) == 0)
stop("invalid digits")
mx <- max(abs(x[!ina]))
x <- round(x, digits = if (mx > 0)
max(0, digits - log10(mx))
else digits)
zeros <- which(x == 0, arr.ind = TRUE)
x[zeros] <- zero
print(x, quote = FALSE, right = TRUE, ...)
invisible()
}
Have a good weekend,
Giovanni
>
> I'm pretty sure I've seen some examples of a function printing zero
> entries in a matrix as dots, but I'm not able to find it now...
> Any suggestions...? Thanks in advance. (Of course, I might have dreamt
> of such a function...)
>
> Best,
> Giovanni
>
--
__________________________________________________
[ ]
[ Giovanni Petris GPetris at uark.edu ]
[ Department of Mathematical Sciences ]
[ University of Arkansas - Fayetteville, AR 72701 ]
[ Ph: (479) 575-6324, 575-8630 (fax) ]
[ http://definetti.uark.edu/~gpetris/ ]
[__________________________________________________]