skylineplot(z, ...)
is simply
a shortcut for plot(skyline(z, ...))
.
The skyline plot itself is an estimate of effective population size through time,
and is computed using the function skyline
.## S3 method for class 'skyline':
plot(x, show.years=FALSE, subst.rate, present.year, \dots)
## S3 method for class 'skyline':
lines(x, show.years=FALSE, subst.rate, present.year, \dots)
skylineplot(z, ...)
skylineplot.deluxe(tree, ...)
"skyline"
)."phylo"
),
or coalescent intervals (i.e. an object of class "coalescentIntervals"
), or
collapsed coalescent intervals (i.e. an object of class "collapsedInt
"phylo"
).skyline()
and plot()
.skyline
for more details (incl. references) about the skyline plot method.plot
and lines
for the basic plotting
function in R, coalescent.intervals
, skyline
library(ape)
# get tree
data("hivtree.newick") # example tree in NH format
tree.hiv <- read.tree(text = hivtree.newick) # load tree
#### classic skyline plot
skylineplot(tree.hiv) # shortcut
#### plot classic and generalized skyline plots and estimate epsilon
sk.opt <- skylineplot.deluxe(tree.hiv)
sk.opt$epsilon
#### classic and generalized skyline plot ####
sk1 <- skyline(tree.hiv)
sk2 <- skyline(tree.hiv, 0.0119)
# use years rather than substitutions as unit for the time axis
plot(sk1, show.years=TRUE, subst.rate=0.0023, present.year = 1997, col=c(grey(.8),1))
lines(sk2, show.years=TRUE, subst.rate=0.0023, present.year = 1997)
legend(.15,500, c("classic", "generalized"), col=c(grey(.8),1),lty=1)
#### various skyline plots for different epsilons
layout(mat= matrix(1:6,2,3,byrow=TRUE))
ci <- coalescent.intervals(tree.hiv)
plot(skyline(ci, 0.0));title(main="0.0")
plot(skyline(ci, 0.007));title(main="0.007")
plot(skyline(ci, 0.0119),col=4);title(main="0.0119")
plot(skyline(ci, 0.02));title(main="0.02")
plot(skyline(ci, 0.05));title(main="0.05")
plot(skyline(ci, 0.1));title(main="0.1")
layout(mat= matrix(1:1,1,1,byrow=TRUE))
Run the code above in your browser using DataLab