I'm sure there's an R packages with this kind of thing out there, but I didn't find it. Often when working with MCMC on a server over ssh, you need to get a rough idea about parameter distributions and convergence. This code outputs a reasonable histogram on the command line without needing graphics. Something similar for traces would be nice.
The height (horizontal) of the histogram bars comes from the options, so if it's printing too wide for you, set "options(width = ???)" to something that works.
histo <- function(x,...) {
o <- hist(x, plot = FALSE, ...)
w <- options()[['width']]
labels <- signif(o[['mids']],2)
pad <- max(nchar(labels))
densities <- o[['density']]/max(o[['density']]) * (w-pad)
for ( i in 1:length(densities)) {
padI <- pad - nchar(labels[i]) + 1
if ( labels[i] >= 0 ) {
cat(' ', labels[i], rep(' ',padI-1), '|', sep='')
} else {
cat(labels[i], rep(' ',padI ), '|', sep='')
}
cat(rep('*',densities[i]), sep='')
cat('\n', sep='')
}
return(o)
}
h <- histo(tp, breaks = 30)
The height (horizontal) of the histogram bars comes from the options, so if it's printing too wide for you, set "options(width = ???)" to something that works.
You know what would make it all better? A flowchart.
ReplyDelete