8
ggplot
オブジェクトのdata
要素のデータの機能にどのように面するかは不明です。次のおもちゃの例では、私がやりたいことは、このようなものです:ggplot - ファセット関数出力
df <- data.frame(x=1:8, y=runif(8), z=8:1)
ggplot(df, aes(x=x, y=y)) + geom_point() + facet_wrap(~ (z %% 2))
しかし、それはエラーを与える:Error in layout_base(data, vars, drop = drop) : At least one layer must contain all variables used for facetting
。
私は、データフレーム変換することにより、所望の結果を達成することができます
ggplot(transform(df, z=z%%2), aes(x=x, y=y)) + geom_point() + facet_wrap(~ z)
をしかし、多くの場合、それは私がすでにggplot
オブジェクトを与えてきたと私がしたい場合は、たとえば、このような変換を使用しないことが望ましいですアドホックファセッティングを追加します。
'myplot $のデータ$ ZZ < - - 既存
R
ggplotの卸売(マスター)データセットを置き換えることができることに注意してくださいmyplotの$のデータ$ zを%% 2'にもより簡単かもしれません。 –@Josh、trueですが、すでにインストールされているデータセットに依存します。時にはデータなしでggplotsを構築し、複数のデータセットを適用することがあります。 –
これは、私が使っている解決策によく似ています - 'myplot $ data < - transform(myplot $ data、z = z %% 2)'。いくつかの他のパッケージが同じ演算子を定義しているので、私は名前空間を '%+%'で数回焼いてしまいました。それを理解するために*時間*をかけました。 –