30個のユニークなサンプル(ID 1〜30)を持ち、各サンプルに3つの異なるしきい値( 'G1'カラム)、5e-03,5e -05,5e-08)。 90の観測のそれぞれは、p値(P列)を有する。最後に、30個のサンプルのそれぞれは、10個の異なるカテゴリ(「G2」)のいずれかに属することができ不均一カテゴリのファセットバープロット
# example data.frame
df <- data.frame(
'ID' = as.character(unlist(lapply(seq(1:30), function(x) rep(x,3)))),
'P' = runif(n = 90, min = 0, max = 1),
'G1' = as.character(c('5e-03','5e-05','5e-08')),
'G2' = as.character(unlist(lapply(sample(1:10, size = 30, replace = T), function(x) rep(x,3))))
)
私は、このコマンドを使用して、素敵なバープロットを生成することができます[すべての数値変数のため申し訳ありません!]。このようになります
ggplot(df, aes(x = interaction(ID,G2), y = P, fill = G2)) +
geom_bar(stat = 'identity') +
coord_flip() +
facet_grid(. ~ G1)
:しかし、私が本当にやりたいことは2つの側面を持っている
Plot 1: image with one facet, and 'G2' visualised using colour
。 (現在のように)列に 'G1'を追加し、変数 'G2'を区切るために棒グラフを使用するのではなく、G2の第2水平面が必要です。これは私が試したことです:
そしてそれは正しくありません。私がG2の面を見ると、すべてのサンプルが各面にプロットされています。これは、各サンプルが1つのG2カテゴリにしか属していないため、醜いです。そのグループに属する棒だけがプロットされる第2のファセットを生成するにはどうすればよいですか?私はfacet_gridの 'drop'、 'scale'、 'space'変数を調整しようとしましたが、改善されません。
This私が探しているのは、私が手作業で描いた矩形が、その面にあるはずのプロットの部分に描かれています。バーはG2ファセットに分割されていることを除いて、基本的にプロット1と同じです。
なぜcoord_flip()を追加しましたか?これを削除して、同じコードを再度実行してください。私はあなたが何を探しているのかと思います。 –
返事に感謝します。 coord_flip()を削除しても問題は解決されませんが、G2ファセットはまだ観測されていないデータをプロットしています。私はcoord_flip()を使用しています。なぜなら、美的理由からページ全体にわたってプロットをしたいからです。 – mbyvcm
貼り付けを変更する可能性がありますか? 'paste(ID、G2、sep ="。 ")' – zx8754