我正在尝试生成一个图表,其中包含多个国家/地区的同一回归的估计值和置信区间。我使用dplyr
的group_by(country)
运行回归,然后将所有结果汇总到具有broom
的tidy()
的数据框中。
从此数据框(称为bycountry1
)创建图形时,我运行以下代码:
ggplot(bycountry1, aes(x = country, y = estimate, ymin = estimate - std.error * 2, ymax = estimate + std.error * 2)) +
geom_hline(yintercept = 0, colour = "black", lty = 2) +
geom_pointrange() +
coord_flip() + facet_grid(. ~ term, scales = "free")
这就是我想要的,除了我希望每个框的比例都不同,以便所有框看起来都更像
religious1
框。由于那是变化最大的那个,它支配了比例,然后在其他大多数框中,您看不到变化。如上面的代码所示,我确实在scales = "free"
中指出了facet_grid()
,并且尝试了所有变体(也使用了facet_wrap()
),但我无法使用它。 最佳答案
按照aosmith的建议,我使用geom_errorbarh
并删除了coord_flip()
使其生效。我还必须将height
的geom_errorbarh
设置为0,并为估算添加一个geom_point
。这是代码:
ggplot(bycountry1, aes(y = country, x = estimate, xmin = estimate - std.error * 2, xmax = estimate + std.error * 2)) +
geom_vline(xintercept = 0, colour = "black", lty = 2) +
geom_point() +
geom_errorbarh(height = 0) +
facet_grid(. ~ term, scales = "free")
以及得到的图像