I just compiled and posted a new version of the "phytools" package. This can be downloaded from my website, here. In it, I have included the following updates & addition:
1) New function, estDiversity(), described here.
2) Updated versions of read.simmap() & write.simmap() to fix the problem identified by Sam Price by allowing map orders to be read in forward or reverse order (reverse by default - since this is the output of SIMMAP). More on this below.**
3) An updated version of plotSimmap(), described here, that should eliminate the problem of scaling the tree and taxon labels to the plotting window that afflicted earlier versions of this function.
** I also wanted to add a short addendum about reading and writing SIMMAP style trees. By chance, I was contacted today by a user who sent me a SIMMAP style tree (not a stochastic character mapped tree, but a Newick style tree in that format) created (according to them) using BEAST. Anyway, this tree actually turned out to have the forward, not reverse map order! This tree would now have to be read into R using read.simmap(...,rev.order=F) (the default is rev.order=T). To try and relieve some of the confusion around these alternative writing options, I have now created the attribute attr(*,"map.order") which stores the map order of the edges of the input tree (i.e., "left-to-right" or "right-to-left"). This does not affect how the tree is stored in memory, but now is used (unless otherwise specified) by write.simmap() to write the tree with the same format in which it was read.