私はRにかなり慣れていませんが、順調に進んでいます。箱ひげ図のx軸に沿ってカテゴリラベルがプロットされる順序を除いて、ggplot2を思い通りに曲げることができました。これは、数式でデータフレームの範囲に対処する方法についての私の知識の単なる穴だと思いますが、これが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()
になり、私が望むものを正確に示します。これは、ラベルA用、B用、C用の1つの箱ひげ図を示す箱ひげ図です。ただし、軸はラベルの順序になります(箱ひげ図1,2,3が原点に最も近く、中央が10,11,12、グラフの右側が7,8,9)。私が欲しいのは、箱ひげ図のデータが、ラベル平均内で最も高いサブセットから始まり、降順で進むことです。mean(df$Label[1:3])
各ラベル内でなどで平均化することはできますが、ラベルのプロットが表示される順序(つまり、xに沿ったA、B、C)にmean(df$Label[4:6])
ならないようにグラフを表示する方法がわかりません。factor(df$Label)
ボックスは2、11、8)ですが、ラベル内の平均が高いものから低いものの順になっています(つまり、xに沿ってB、C、An、次に11、8、2のボックス)。
ラベル内の各平均で構成されるベクトルを作成し、それをggplotに渡して軸の順序を指定することを考えていますが、最初にベクトルを作成する方法がわかりません。
私が知る必要があるのは:
最高から最低の順に、各ラベルの平均で構成されるベクトルを取得するための最良の方法は何ですか?
そのベクトルをに渡して、軸にggplot
ラベルを付けながら、それらの値でx軸を並べ替えるにはどうすればよいですか。x
factor(df$Label)
データを表示する他の方法についても提案を受け付けていますが、私は自分が望むものにかなり近いと思います。特定のラベル内の値の平均と広がりが重要です。