2017-02-27 30 views
0

我有跟着data.frame:如何在这里创建一个binned平均图?

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轴绘制,以便第一组计算的是最左边的点,第二组的平均值是第二个最左边的点,等等。有人知道这可以做什么吗?

+0

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

回答

0

你可以试试:

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") 

enter image description here

但是,为什么不使用针对此问题的简单的箱线图:

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)) 
相关问题