私はfacet_grid
かなり好きで、よく と一緒に使っていgeom_histogram
ます。margins=foo
集約されたグループと比較してすべての分布を確認できるという点でも、この議論が気に入っています。問題は、margin 引数を含めると、すべてのグループが引き伸ばされて、通常ははるかに広い範囲のマージンの y スケールを満たすようになるため、すべてのデータが得られることです。これは、集約されたすべてのグループの y スケールがはるかに広くなり、グループ間の違いを見つけるのが難しくなることを意味します。だから私は自分自身に言います、:self は scales 引数でこれを修正でき、y が変化できるようにすることができます。余白を自由にしますが、スケールが自由ではないかのように他のすべてを制限します。
ここにコードと写真を示して、私が何を意味するかを示します。これが明確でない場合は、質問してください。
#create some data
set.seed(10)
dat <- data.frame(var1=rpois(1000, 20),
var2=as.factor(sample(LETTERS[1:4], 1000, replace=T)),
var3=as.factor(sample(month.abb[1:5], 1000, replace=T)))
ggplot(dat, aes(var1)) +
geom_histogram() +
facet_grid(var2~var3)
これがそのプロットです。yスケールが同じであるため、すべての集計スコアを簡単に比較できるという点で気に入っています。しかし、比較のためにマージンや分解されたヒストグラムもあると便利ではないでしょうか。
ggplot(dat, aes(var1)) +
geom_histogram() +
facet_grid(var2~var3, margins='var2')
引数を入れてmargins
比較できるようになりましたが、集計されたグループ ヒストグラムはすべて 20 に引き伸ばされており、比較が難しくなっています (下の画像を参照)。scales
では、自由に設定しましょう。 この例は、私が使用したサンプリング方法でデータがかなり均等に分散されているため、ひどいものではありませんが、実際には、いくつかのセルには少数のカウントしかなく、他のセルには多くのカウントがあり、比較はさらに悪いです
ggplot(dat, aes(var1)) +
geom_histogram() +
facet_grid(var2~var3, margins='var2', scales="free_y")
これが、スケールを解放したプロットです。問題は、それらが実際に集計されたスコアに対しても無料であり、それらを比較するのに問題があることです (1 つは 14 位、1 つは 8 位、もう 1 つは 7 位です)。
margins
では、 だけを自由にする方法はありますか? 基本的に私が望むのは、作成された最初の図を取り、2 番目の図から余白をスプライスすることです。