A user comment asks the following:

*"I wonder how can I alter the size of the "pie" in describe.simmap.... Same question for altering the color...."*

Well, there is no way at present to change the color or pie-size in describe.simmap(...,plot=TRUE); however, describe.simmap, it is easy to *recreate* the posterior probability plot of describe.simmap using the function output - while customizing its attributes.

Here's a quick demo:

> # check package version

> packageVersion("phytools")

[1] ‘0.2.54’

>

> # first simulate some data to use in the demo

> Q<-matrix(c(-2,1,1,1,-2,1,1,1,-2),3,3)

> rownames(Q)<-colnames(Q)<-letters[1:3]

> tree<-sim.history(pbtree(n=50,scale=1),Q)

> x<-tree$states

>

> # now the demo

> mtrees<-make.simmap(tree,x,model="ER",nsim=100)

make.simmap is sampling character histories conditioned on the transition matrix

Q =

a b c

a -2.041867 1.020934 1.020934

b 1.020934 -2.041867 1.020934

c 1.020934 1.020934 -2.041867

(estimated using likelihood);

and (mean) root node prior probabilities

pi =

a b c

0.3333333 0.3333333 0.3333333

Done.

> XX<-describe.simmap(mtrees,plot=FALSE)

100 trees with a mapped discrete character with states:

a, b, c

trees have 23.93 changes between states on average

changes are of the following types:

a,b a,c b,a b,c c,a c,b

x->y 2.11 2.91 4.62 5.77 4.94 3.58

mean total time spent in each state is:

a b c total

raw 2.2816521 4.1930936 4.2593925 10.73414

prop 0.2125603 0.3906316 0.3968081 1.00000

> hh<-max(nodeHeights(tree))*0.02 # for label offset

> plot(tree,no.margin=TRUE,label.offset=hh,edge.width=2)

> nodelabels(pie=XX$ace,piecol=c("blue","red","green"), cex=0.5)

> tiplabels(pie=to.matrix(x,colnames(XX$ace)), piecol=c("blue","red","green"),cex=0.5)

> packageVersion("phytools")

[1] ‘0.2.54’

>

> # first simulate some data to use in the demo

> Q<-matrix(c(-2,1,1,1,-2,1,1,1,-2),3,3)

> rownames(Q)<-colnames(Q)<-letters[1:3]

> tree<-sim.history(pbtree(n=50,scale=1),Q)

> x<-tree$states

>

> # now the demo

> mtrees<-make.simmap(tree,x,model="ER",nsim=100)

make.simmap is sampling character histories conditioned on the transition matrix

Q =

a b c

a -2.041867 1.020934 1.020934

b 1.020934 -2.041867 1.020934

c 1.020934 1.020934 -2.041867

(estimated using likelihood);

and (mean) root node prior probabilities

pi =

a b c

0.3333333 0.3333333 0.3333333

Done.

> XX<-describe.simmap(mtrees,plot=FALSE)

100 trees with a mapped discrete character with states:

a, b, c

trees have 23.93 changes between states on average

changes are of the following types:

a,b a,c b,a b,c c,a c,b

x->y 2.11 2.91 4.62 5.77 4.94 3.58

mean total time spent in each state is:

a b c total

raw 2.2816521 4.1930936 4.2593925 10.73414

prop 0.2125603 0.3906316 0.3968081 1.00000

> hh<-max(nodeHeights(tree))*0.02 # for label offset

> plot(tree,no.margin=TRUE,label.offset=hh,edge.width=2)

> nodelabels(pie=XX$ace,piecol=c("blue","red","green"), cex=0.5)

> tiplabels(pie=to.matrix(x,colnames(XX$ace)), piecol=c("blue","red","green"),cex=0.5)

Obviously, to adjust the pie-sizes & colors we just change the values of cex & piecol.

That's it.

Great post! Very useful for plus-100-tips trees.

ReplyDeleteHi, I have problems with executing describe.simmap function.

ReplyDeleteI have an object with phylogenetic trees with mapped discrete characters, but I have a problem like this:

> simPP

500 phylogenetic trees with mapped discrete characters

>describe.simmap(simPP)

Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...) :

'x' must be atomic

Can you help me please?

Thank you,

Can you report your package version number & how the stochastic mapped trees were obtained (i.e., did they read from file or were they generated by make.simmap)?

DeleteThanks.

This comment has been removed by the author.

ReplyDeletejust information we only provide information for those who need it

ReplyDeletecara menggugurkan kandunganA.

obat telat datang bulanB.

posisi berhubungan agar cepat hamilC.

makanan dan minuman agar cepat hamilD.

panduan agar cepat hamilE.

cara agar cepat hamilF.

cara agar cepat hamil setelah selesai haidG.

cara alami untuk segera mendapat kehamilan