library("neotrans")
hetModels <- c("hg_ki", "hg2_ki", "hg_b_ki", "hg_m_ki", "hg_bm_ki")
rmModels <- c("rm_by_n_ki", "rm_by_t_ki", "rm_by_nt_ki")
statModels <- c("by_ki", "by_n_ki", "by_nn_ki", "by_t_ki", "by_nt_ki")
nsModels <- c("ns_ki", "ns_n_ki", "ns_t_ki", "ns_nt_ki")
homModels <- c(statModels, nsModels)
kiModels <- c(statModels, rmModels, nsModels, hetModels)
nonRm <- setdiff(kiModels, rmModels)
marginals <- GetMarginals(KiProjects(), kiModels)
stdErr <- attr(marginals, "stdErr")
bestModel <- table(nonRm[apply(marginals[nonRm, ], 2, which.max)])
wd <- 6
mfr <- c(4, 2)
spaceForOma <- 1.02
OutputPlot("modelCmp", wd, wd * mfr[1] / mfr[2] * spaceForOma, function() {
layout(rbind(c(1, 1, 2), c(3, 3, 4), c(5, 5, 6), c(7, 7, 8)), widths = c(1, 1, 2))
par(oma = c(0, 0, 1, 0))
ModelHeatmap(marginals[nonRm, ], stdErr[nonRm, ])
Panel(1, 4, -1.6)
counts <- bestModel[rev(nonRm)]
barCol <- ModelCol(rev(nonRm))
names(counts) <- ModelLabel(rev(nonRm))
par(mar = c(4.71, 0.6, 0.3, 0.4), cex = 0.86)
bp <- barplot(counts,
horiz = TRUE,
col = barCol,
border = NA,
las = 1,
space = 0,
axes = FALSE,
yaxt = "n",
xlab = "Number of times best ML",
xlim = c(0, max(counts) * 1.1),
ylim = c(0.5, length(counts) - 0.5))
text(x = counts - 0.4, y = seq_along(counts) - 0.5, labels = counts,
col = "white", font = 2)
abline(v = 0)
Panel(2, 0, -1.6)
par(mar = c(2, 4, 2, 0.4))
SpindleCompare(
modelA = c("by_n_ki", "by_nt_ki", "ns_n_ki", "ns_nt_ki"),
modelB = c("by_ki", "by_t_ki", "ns_ki", "ns_t_ki"),
marginals = marginals,
stdErr = stdErr
)
Panel(3, 4)
text(2.5, 70, "\U2191 g\U2013l asymmetry improves ML")
text(2.5, -16.35, "\U2193 gain\U2013loss symmetry improves ML", xpd = NA)
SpindleCompare("by_nn_ki", "by_n_ki", marginals, stdErr)
Panel(4)
SpindleCompare(
modelA = c("by_t_ki", "by_nt_ki", "ns_t_ki", "ns_nt_ki"),
modelB = c("by_ki", "by_n_ki", "ns_ki", "ns_n_ki"),
marginals = marginals,
stdErr = stdErr
)
Panel(5)
text(2.5, 13, expression("\U2191 Unlinking" ~ italic("t") ~ "improves ML"))
text(2.5, -9.6, expression("\U2193 Linking" ~ italic("t") ~ "improves ML"))
SpindleCompare(
modelA = c("ns_ki", "ns_t_ki", "ns_n_ki", "ns_nt_ki"),
modelB = c("by_ki", "by_t_ki", "by_n_ki", "by_nt_ki"),
marginals = marginals,
stdErr = stdErr
)
Panel(6)
text(2.5, 48, expression("\U2191 Non-stnry model improves ML"))
text(2.5, -20, expression("\U2193 Stationary model improves ML"), xpd = NA)
hetMar <- marginals[hetModels, ]
homMar <- marginals[homModels, ]
bestHet <- apply(hetMar, 2, which.max)
bestHom <- apply(homMar, 2, which.max)
hhm <- rbind(
marginals[hetModels, ],
bestHet = hetMar[cbind(bestHet, seq_len(ncol(hetMar)))],
bestHom = homMar[cbind(bestHom, seq_len(ncol(homMar)))]
)
hhSE <- rbind(
stdErr[hetModels, ],
bestHet = stdErr[hetModels, ][cbind(bestHet, seq_len(ncol(hetMar)))],
bestHom = stdErr[homModels, ][cbind(bestHom, seq_len(ncol(homMar)))]
)
SpindleCompare("bestHet", "bestHom", hhm, hhSE)
text(1, 62, expression("\U2191 Heterog. model improves ML"))
Panel(7)
SpindleCompare(
modelA = c("hg2_ki", "hg_b_ki", "hg_m_ki", "hg_bm_ki"),
modelB = c("hg_ki", "hg2_ki", "hg2_ki", "hg2_ki"),
marginals = hhm,
stdErr = hhSE,
width = 0.91
)
Panel(8)
text(2.5, 27.1, expression("\U2191 Complex model improves ML"))
text(2.5, -15.2, expression("\U2193 Simple model improves ML"), xpd = NA)
})