%
hrefify <- function(title) gsub('[\\.()]','_',title,perl=TRUE)
scrub <- function(obj){
if (is.null(obj)) return('NULL')
if (length(obj) == 0) return ('length 0 objing')
if (typeof(obj) == 'closure')
obj <- paste(deparse(obj),collapse='\n')
else
obj <- as.character(obj)
obj <- gsub('&','&',obj); obj <- gsub('@','_at_',obj);
obj <- gsub('<','<',obj); obj <- gsub('>','>',obj);
if (length(obj) == 0 || is.null(obj) || obj == '')
obj <- ' '
obj
}
cl<-'e'
zebelem <- function(n,v) {
cl <<- ifelse(cl=='e','o','e')
cat('
')
if(!is.na(n)) cat('',n,' | ')
cat('');
if (length(v)>1) zebra(NULL,v)
else cat(scrub(v))
cat(' |
\n');
}
zebra <- function(title,l){
if (!is.null(title)) cat(' ',title,'
',sep='')
cat('',sep='')
n <- names(l)
mapply(zebelem,if(is.null(n)) rep(NA,length(l)) else n, l)
cat('
\n')
}
zebrifyPackage <-function(package){
zebra(package,unclass(packageDescription(package)))
cat('
\n')
}
-%>
Everything You Wanted To Know About Your R Session
Everything You Wanted To Know About Your R Session
<% zebra('R.version',R.version) %>
<% zebra('search()',search()) %>
<% zebra('.libPaths()',.libPaths()) %>
<% zebra('options()',options()) %>
<% zebra('Sys.getenv()',as.list(Sys.getenv())) %>
<% zebra('Sys.info()',as.list(Sys.info())) %>
<% zebra('.Machine',.Machine) %>
<% zebra('.Platform',.Platform) %>
Attached Packages
<% lapply(sub('package:','',search()[grep('package:',search())]),zebrifyPackage) %>
Installed Packages
<% lapply(attr(installed.packages(),'dimnames')[[1]],zebrifyPackage) %>