【问题标题】:How to make a binned mean graph here?如何在这里制作分箱均值图?
【发布时间】:2017-02-27 07:26:00
【问题描述】:

我有以下data.frame:

P  value
1 -1.68376331
0.99 -0.41567108
0.96  0.23841294
0.96 -0.22990539
0.96 -0.09554575
0.955  1.67393163
0.82 -0.62701762
0.81  1.32506612
0.81  0.10928334
0.78  0.55526814
0.78 0.22339582
0.70 -0.70335192
0.69  1.34438953
0.68 -0.09821771
0.67  0.33202775

我想绘制每组三个(按 P 列的顺序)值的平均值。我希望它们沿 x 轴绘制,以便计算的第一组平均值是最左边的点,第二组平均值是第二个最左边的点,等等。有谁知道如何做到这一点?

【问题讨论】:

  • 您能否传递您的数据,以便我们将其复制/粘贴到我们的 R 会话中?对于没有三个值(例如 0.955)的组会发生什么情况?

标签: r dataframe graph bin


【解决方案1】:

你可以试试:

ggplot(d, aes(V1, V2)) +  geom_point() + theme_bw() +
  stat_summary(fun.y = "mean", colour = "red", size = 2, geom = "point") + 
  stat_summary(fun.y = "mean", geom = "line")

但是为什么不使用一个简单的箱线图来解决这个问题:

boxplot(V2 ~ V1, d)

例如,您可以使用点来添加手段:

means <- aggregate(d$V2, list(d$V1), mean)
points(means$x, col="red", pch=18)

您的数据

d <- structure(list(V1 = c(1, 0.99, 0.96, 0.96, 0.96, 0.955, 0.82, 
0.81, 0.81, 0.78, 0.78, 0.7, 0.69, 0.68, 0.67), V2 = c(-1.68376331, 
-0.41567108, 0.23841294, -0.22990539, -0.09554575, 1.67393163, 
-0.62701762, 1.32506612, 0.10928334, 0.55526814, 0.22339582, 
-0.70335192, 1.34438953, -0.09821771, 0.33202775)), .Names = c("V1", 
"V2"), class = "data.frame", row.names = c(NA, -15L))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 2023-04-03
    • 1970-01-01
    • 2020-11-07
    相关资源
    最近更新 更多