X-Git-Url: https://git.donarmstrong.com/?p=ape.git;a=blobdiff_plain;f=R%2FrTrait.R;h=8cc48e17c9e45296c082b33ca33f29e01c3f3296;hp=642591e6e2523d2ac0da057b861f1831546f6621;hb=06c3113db74a7cfa54c15a6f18163cd9b2c1f6db;hpb=bd55cf71ae1a3d20d237d7fdd36af138c21769df diff --git a/R/rTrait.R b/R/rTrait.R index 642591e..8cc48e1 100644 --- a/R/rTrait.R +++ b/R/rTrait.R @@ -1,4 +1,4 @@ -## rTrait.R (2010-02-03) +## rTrait.R (2010-05-06) ## Trait Evolution @@ -58,10 +58,12 @@ rTraitDisc <- environment(model) <- environment() # to find 'k' for (i in N:1) x[des[i]] <- model(x[anc[i]], el[i]) } else { - diag(Q) <- -rowSums(Q) freq <- rep(freq, each = k) + Q <- Q * freq + diag(Q) <- 0 + diag(Q) <- -rowSums(Q) for (i in N:1) { - p <- matexpo(Q * freq * el[i])[x[anc[i]], ] + p <- matexpo(Q * el[i])[x[anc[i]], ] x[des[i]] <- .Internal(sample(k, size = 1, FALSE, prob = p)) } }