gpt4 book ai didi

r - 如何在 ggplot2 R 中的轴上绘制均值和误差条

转载 作者:行者123 更新时间:2023-12-01 13:16:18 25 4
gpt4 key购买 nike

我想在 R 中的 qplot 的轴上绘制均值和误差条。在这里,我提供了一个例子来说明我的意思:

plot with means and error bars on the axes

如您所见,黄色轴上绘制的是均值和误差条。我想把它放在我的 qplot 上。

考虑这个数据子集:

x <- c(2.037820, 3.247560, 1.259053, 4.200520, 1.960179, 6.247880, 2.830693, 5.565390, 4.476610,
4.627420, 2.500470, 4.156422, 2.855426, 9.210740, 2.663490, 4.412452, 3.270280, 2.838081,
1.705650, 5.440690, 3.014000, 3.513820, 3.002930, 2.453080, 2.787320, 0.979227, 2.815368);

y <- c(2.855820, 3.332350, 1.991730, 3.688240, 3.565680, 3.525511, 4.451860, 3.233950, 6.125230,
4.039360, 5.043330, 3.194650, 7.419020, 7.389600, 2.734740, 4.456250, 3.037665, 5.147140,
3.184790, 3.595890, 5.457550, 1.527680, 2.848046, 1.418289, 3.996330, 4.516640, 2.884100);

fp <- qplot(x, y) + annotate("segment", x=-Inf, xend=Inf,y=-Inf, yend=Inf);
ggExtra::ggMarginal(fp, type = "density", margins = 'both')

它应该给你一个这样的情节:

click here to see the plot

现在,我该如何绘制均值和误差线? R 中基本绘图中使用的 axes() 在 ggplot2 中不起作用。

我很感激任何建议,即使它需要更改包或以不同的方式解决问题。

谢谢!

最佳答案

也许不完全是您要找的东西,但可能是您继续工作的起点:

require(ggplot2)
require(dplyr)

df <- data.frame(x = x, y = y)


dferrx <- df %>%
summarise(m = mean(x),
lo = m - 1.96 * sd(x)/sqrt(n()),
hi = m + 1.96 * sd(x)/sqrt(n()),
x = m)

dferry <- df %>%
summarise(m = mean(y),
lo = m - 1.96 * sd(y)/sqrt(n()),
hi = m + 1.96 * sd(y)/sqrt(n()),
y = m)


ggplot(df, aes(x = x, y = y)) +
geom_point() +
annotate("segment", x=-Inf, xend=Inf,y=-Inf, yend=Inf) +
geom_errorbar(data = dferry, aes(x = 0, ymin = lo, ymax = hi)) +
geom_errorbarh(data = dferrx, aes(y = 0, xmin = lo, xmax = hi))

关于r - 如何在 ggplot2 R 中的轴上绘制均值和误差条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54689154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com