coord_flip 后 mcmc 区域的反向 x 轴因子水平
Reverse x-axis factor levels of mcmc areas after coord_flip
我有一个来自三个不同变量的贝叶斯后验分布的绘图数据框,我想将它们绘制为 mcmc_areas
。
当我这样做时,变量名称在 y 轴上,绘图值在 y 轴上。当我使用 coord_flip
将变量名切换到 x 轴时,它们是相反的。
我看到的其他解决方案涉及修改原始数据集或 ggplot 中的 aes 以包含我的数据没有的因子水平。
如何反转 x 轴上变量名称的顺序,以便它们从左到右读取 var1、var2、var3?
library(bayesplot)
library(ggplot2)
var1 <- c(-0.06002548, -0.02066638, -0.04869878, -0.03085879, -0.04363278, -0.04427182)
var2 <- c(-0.011345631, -0.033393275, -0.037143247, -0.012890959, -0.031249614, -0.001547747)
var3 <- c(-0.05907443, -0.06544918, -0.05831428, -0.04964141, -0.05206038, -0.05726436)
df <- data.frame(var1, var2, var3)
plot <- mcmc_areas(test, pars = c("var1","var2","var3"),
point_est = "mean",
prob = .95)
ggtest <- plot + coord_flip()
一种选择是反转您将变量传递给 mcmc_areas
的顺序,以便在翻转后获得所需的顺序:
library(bayesplot)
library(ggplot2)
mcmc_areas(df, pars = rev(c("var1","var2","var3")),
point_est = "mean",
prob = .95) +
coord_flip()
第二个选项是通过 scale_y_discrete
的 limits
参数设置所需的顺序。笔记。这样做会稍微改变情节的外观。为了解决这个问题,我将 expand
参数设置为等于我从 plot$scales$scales[[1]]$expand
.
中提取的 mcmc_areas
设置的值
mcmc_areas(df, pars = c("var1","var2","var3"),
point_est = "mean",
prob = .95) +
coord_flip() +
scale_y_discrete(limits = c("var1","var2","var3"), expand = c(0.1, 0, 0.1, 0.666666666666667))
#> Scale for 'y' is already present. Adding another scale for 'y', which will
#> replace the existing scale.
我有一个来自三个不同变量的贝叶斯后验分布的绘图数据框,我想将它们绘制为 mcmc_areas
。
当我这样做时,变量名称在 y 轴上,绘图值在 y 轴上。当我使用 coord_flip
将变量名切换到 x 轴时,它们是相反的。
我看到的其他解决方案涉及修改原始数据集或 ggplot 中的 aes 以包含我的数据没有的因子水平。
如何反转 x 轴上变量名称的顺序,以便它们从左到右读取 var1、var2、var3?
library(bayesplot)
library(ggplot2)
var1 <- c(-0.06002548, -0.02066638, -0.04869878, -0.03085879, -0.04363278, -0.04427182)
var2 <- c(-0.011345631, -0.033393275, -0.037143247, -0.012890959, -0.031249614, -0.001547747)
var3 <- c(-0.05907443, -0.06544918, -0.05831428, -0.04964141, -0.05206038, -0.05726436)
df <- data.frame(var1, var2, var3)
plot <- mcmc_areas(test, pars = c("var1","var2","var3"),
point_est = "mean",
prob = .95)
ggtest <- plot + coord_flip()
一种选择是反转您将变量传递给 mcmc_areas
的顺序,以便在翻转后获得所需的顺序:
library(bayesplot)
library(ggplot2)
mcmc_areas(df, pars = rev(c("var1","var2","var3")),
point_est = "mean",
prob = .95) +
coord_flip()
第二个选项是通过 scale_y_discrete
的 limits
参数设置所需的顺序。笔记。这样做会稍微改变情节的外观。为了解决这个问题,我将 expand
参数设置为等于我从 plot$scales$scales[[1]]$expand
.
mcmc_areas
设置的值
mcmc_areas(df, pars = c("var1","var2","var3"),
point_est = "mean",
prob = .95) +
coord_flip() +
scale_y_discrete(limits = c("var1","var2","var3"), expand = c(0.1, 0, 0.1, 0.666666666666667))
#> Scale for 'y' is already present. Adding another scale for 'y', which will
#> replace the existing scale.