]> git.donarmstrong.com Git - ape.git/blobdiff - R/rTrait.R
small changes in PGLS.R
[ape.git] / R / rTrait.R
index 3359df6f71da40c3b8a5d7a254844bafb50b79e3..8cc48e17c9e45296c082b33ca33f29e01c3f3296 100644 (file)
@@ -1,4 +1,4 @@
-## rTrait.R (2010-01-11)
+## rTrait.R (2010-05-06)
 
 ##   Trait Evolution
 
@@ -58,9 +58,12 @@ rTraitDisc <-
         environment(model) <- environment() # to find 'k'
         for (i in N:1) x[des[i]] <- model(x[anc[i]], el[i])
     } else {
+        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))
         }
     }