我对R相当陌生,但我取得了很好的进步。除了一件事之外,我已经能够将ggplot2弯曲成我的意志:分类标签沿着我的boxplot中的x轴绘制的顺序。我认为这只是在我的如何解决在公式中数据帧的范围知识孔,但这里的假数据,为数据帧称为DF:如何按一个行的子集的平均值对数据框排序?
Index Label Value
index1 A 1
index2 A 2
index3 A 3
index4 B 12
index5 B 11
index6 B 10
index7 C 8
index8 C 7
index9 C 9
...
index76 Z 15
index77 Z 17
index78 Z 16
我的阴谋代码看起来像qplot(df$Label, df$Value, data=df) + scale_x_discrete("Label") + opts(axis.text.x = theme_text(angle = 90, hjust = 0, size=7)) + geom_boxplot()
并给我到底我想要什么,这是一个boxplot显示一个盒子&针对标签A,一个针对B和一个针对C.然而,轴的顺序是标签(1,2,3的盒图最接近中间10,11,12,图右侧7,8,9)。我想要的是boxplot数据从标签平均值最高的子集开始,然后按降序进行。我可以通过mean(df$Label[1:3])
和mean(df$Label[4:6])
等在每个标签的平均值,但我不知道如何让图显示,使标签的图不会按照它们出现在factor(df$Label)
(即A,B,C沿带有框的x在2,11,8),但是按照最高标签内平均值到最低值(即B,C,A沿着x和框,然后在11,8,2)。
我想我会创建一个由每个标签内平均值组成的矢量,并以某种方式将其传递给ggplot以指定轴顺序,但我无法弄清楚如何创建矢量以开始。
我需要知道的是:
什么是得到由每个标签的平均值的矢量的最佳方式,以便从最高到最低? 如何传递载体ggplot使其订单减少这些值x轴,同时还与factor(df$Label)
我接受其他方式来显示数据以及建议标签x轴,但我觉得我非常接近我想要的&平均值&给定标签内的值的传播很重要。
我要澄清,在值值是不以任何方式独特 - 有很多重叠的。 – 2011-04-26 01:49:55