You can do this with corHMM by making an appropriate model with rayDISC.
For example, if character A has states 0,1 and character B has states
0,1,2, you then recode this into a single multistate character:

00 -> 0
01 -> 1
02 -> 2
10 -> 3
11 -> 4
12 -> 5

and then create a rate matrix that matches your hypotheses (i.e., force the
00->10 rate [the 0->3 rate in the new coding] to be the same as the 01->11
and 02->12 rates (so that the state of the second character doesn't affect
the rate of the first character) or and compare (or model average) with a
model where they are free to vary).

It wouldn't be hard to make a looping thing to do this automatically
(Jeremy Beaulieu has for two and three binary trait correlation in the same
package with corDISC but not for multistate yet) but as far as I know no
one has (pull requests welcome!).

There may also be this functionality in phytools: I remember some Pagel
correlation work was added, but I don't know about its limitations with


PS: Of course, with all this stuff, I now worry about the Maddison and
FitzJohn issue:

Brian O'Meara,, especially Calendar
<>, CV
<>, and Feedback

Associate Professor, Dept. of Ecology & Evolutionary Biology, UT Knoxville
Associate Head, Dept. of Ecology & Evolutionary Biology, UT Knoxville
Associate Director for Postdoctoral Activities, National Institute for
Mathematical & Biological Synthesis <> (NIMBioS)

On Wed, Mar 21, 2018 at 3:19 PM, John Denton <> wrote:

> Hi all,
> Does anybody know of a package that does character correlations between
> binary and multistate characters (and even better with the possibility of
> missing data)?
> Thanks!
> ~John
> _______________________________________________
> R-sig-phylo mailing list -
> Searchable archive at

        [[alternative HTML version deleted]]

R-sig-phylo mailing list -
Searchable archive at

Reply via email to