首页 > 解决方案 > 垂直堆叠内核密度图

问题描述

我有一个贝叶斯模型的输出矩阵 (C),它有 3000 行,其中包含最有可能发生给定鸟类繁殖行为(列;唱歌、孵化、雏鸟等)的周数(1-13)。我已经使用以下代码可视化了最有可能发生行为的那一周的内核密度估计:

G <- mcmc_dens(C, pars = c("Singing", "Building", "Incubating", "Nestlings", "Empty Nest", "Fledglings Observed", "Fledgling/Adult Interactions", "Fledgling Foraging"))
G <- G + theme(axis.title = element_text(face="plain",size=12)) + labs(x ="Week") + scale_x_continuous(breaks = 1:13)

...产生这些数字:

核密度估计 - 图 G

我想将这些数字堆叠在一起,以便我有一个具有相同 x 轴的数字,您可以轻松地看到哪些行为同时达到峰值,但我不知道如何做到这一点mcmc_dens(即我想要唱歌在建筑物上方的图表,唱歌和建筑物在孵化上方的图表,依此类推,这样我就有了八个垂直对齐的图表)。

来自矩阵 C 的数据样本(不包括所有列):

        Singing Building Incubating Nestlings Empty Nest
  [1,]       8        8          8         8         13
  [2,]       8        8          8        11          4
  [3,]       9        8          8        12         13
  [4,]       5        4          8        11         13
  [5,]       9        8          8         8         13
  [6,]       9        8          8         8         13
  [7,]       5        8          8        11         13
  [8,]       9        8         10        11         12
  [9,]       9        4          8        10          8
 [10,]       5        7         12        10          8

标签: rggplot2bayesian

解决方案


弄清楚了!mcmc_dens有论点facet_args将每个图形变成了自己的方面(花了我很长时间,因为我不熟悉方面)。修改我的原始代码的第一行给了我正在寻找的数字:

pars <- c("Singing", "Building", "Incubating", "Nestlings", 
          "Empty", "Fledglings", "Interactions", "Foraging")
G <- mcmc_dens(C, pars=pars, facet_args=list(ncol=1, strip.position="left"))

这是图像现在的样子:

行为


推荐阅读