如何在基本R图形中绘制点范围图和带状图?
这里有两个ggplot2
图,我想复制它们,除了基本的R安装之外,没有依赖性。我 * 不 * 需要复制任何主题元素或标签。
library(ggplot2)
library(marginaleffects)
# point range
mod <- lm(mpg ~ hp + factor(cyl), mtcars)
dat <- data.frame(names(coef(mod)), coef(mod), confint(mod)) |>
setNames(c("x", "y", "ymin", "ymax"))
ggplot(dat, aes(x = x, y = y, ymin = ymin, ymax = ymax)) +
geom_pointrange()
# ribbon
mod <- lm(mpg ~ hp, mtcars)
pre <- predictions(mod)
ggplot(pre, aes(x = hp, y = estimate, ymin = conf.low, ymax = conf.high)) +
geom_ribbon(alpha = .3)
1条答案
按热度按时间7vux5j2d1#
首先
我认为这里的一切都是不言自明的,所以只显示结果:
秒
这里的主要问题是绘制多边形。多边形将所有点一个接一个地连接起来,因此必须对它们进行排序。因此我首先对data.frame进行排序:
在此之后,应该明确: