将 ggplot2/rstan 中跟踪图面板中各个图的标题更改为带下标的希腊字母

Changing the title of individual plots within a panel of traceplots in ggplot2/rstan to greek letters with subscript

我通过 mcmc_trace 创建了我的 stanfit objects 的轨迹图。 我想重命名跟踪图的标题。 我已经设法更改了标题,但我不知道如何将这些图重命名为带有类似于表达式函数的下标的希腊字母。

array <- as.array(fit)
array[1,1,1:3]
dimnames(array)[[3]][1:3] <- c("alpha1", "alpha2", "alpha3")

trace <- mcmc_trace(array, pars = c("alpha1", "alpha2", "alpha3")

我想用表达式 (gamma[0]) 替换 alpha1,但它不起作用。

好吧,经过一番挖掘,似乎 bayesplott::mcmc_trace 没有希腊字母选项。

但是,非常相似的 mcmcplots::traplot 包有一个选项 greek = TRUE。 我做了一个随机的例子给你看:

library(mcmcplots)

nc <- 3; nr <- 1000
pnames <- c(paste('alpha[', 1:2, ']', sep = ''), paste('gamma[1]', sep = ''))
means <- rpois(10, 20)
fakemcmc <- coda::as.mcmc.list(
  lapply(1:3, function(i) coda::mcmc(matrix(rnorm(nc*nr, rep(means, each=nr)),
                                            nrow=nr, dimnames=list(NULL,pnames)))))
traplot(fakemcmc, greek = TRUE)

产生此输出: