``` {r } rm(list=ls()) require(wrightscape) require(snowfall) require(ggplot2)
require(socialR) gitaddr <- gitcommit("simulation.R") id <- gitlog()$shortID print(id)
data(labrids)
levels(pharyngeal) = c("wrasses", "parrotfish") regime <- pharyngeal
a1_spec <- list(alpha = "indep", sigma = "global", theta = "global") a1 <- multiTypeOU(data = dat["close"], tree = tree, regimes = regime, model_spec = a1_spec, control = list(maxit=5000))
a1$alpha[1] <- 10 a1$alpha[2] <- 1e-10 a1$sigma <- c(5, 5) a1$theta <- c(0,0) dat[["constraint release"]] <-simulate(a1)[[1]]
testcase <- dat[["constraint release"]] testcase[regime =="wrasses" & !is.na(testcase) & testcase != 0] -> lowvar testcase[regime !="wrasses" & !is.na(testcase) & testcase != 0] -> highvar print(c(var(lowvar), var(highvar)))
s1_spec <- list(alpha = "global", sigma = "indep", theta = "global") s1 <- multiTypeOU(data = dat["close"], tree = tree, regimes = pharyngeal, model_spec = s1_spec, control = list(maxit=5000))
names(s1$sigma) <- levels(regime) s1$sigma[1] <- sqrt(251.25) s1$sigma[2] <- sqrt(255) s1$alpha <- c(5, 5) # We can keep those parameters estimated from data or update them a1$theta <- c(0,0) dat[["faster evolution"]] <-simulate(s1)[[1]] testcase <- dat[["faster evolution"]] testcase[regime == "wrasses" & !is.na(testcase) & testcase != 0 ] -> lowvar testcase[regime != "wrasses" & !is.na(testcase) & testcase != 0 ] -> highvar print(c(var(lowvar), var(highvar)))
traits <- c("constraint release", "faster evolution")
sfInit(par=T, 10) # for debugging locally sfLibrary(wrightscape) sfLibrary(pmc)
fits <- lapply(traits, function(trait){
multi <- function(modelspec)
m <- multiTypeOU(data = dat[[trait]], tree = tree, regimes = pharyngeal,
model_spec = modelspec,
control = list(maxit=5000)
)
s1 <- multi(list(alpha = "global", sigma = "indep", theta = "global"))
a1 <- multi(list(alpha = "indep", sigma = "global", theta = "global"))
sfExportAll()
mc <- montecarlotest(s1, a1, nboot=100)
})
````
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.