9

重複の可能性:
ggplot-関数出力によるファセット

ggplot2facetsオプションは、因子ごとに複数のプロットを表示するのに最適ですが、連続変数をその中の因子に効率的に変換する方法を学ぶのに苦労しました。次のようなデータを使用:

DF <- data.frame(WindDir=sample(0:180, 20, replace=T), 
                 WindSpeed=sample(1:40, 20, replace=T), 
                 Force=sample(1:40, 20, replace=T))
qplot(WindSpeed, Force, data=DF, facets=~cut(WindDir, seq(0,180,30)))

エラーが発生します:At least one layer must contain all variables used for facetting

Force~WindSpeed離散的な30度間隔で関係を調べたいのですがfacet、使用するデータフレームに要素を付加する必要があるようです(もちろんできますDF$DiscreteWindDir <- cut(...)が、それは不要のようです)。facets連続変数を因子に変換するときに使用する方法はありますか?

4

1 に答える 1

7

transformインライン変換を行うために使用できる方法の例を作成します。

qplot(WindSpeed, Force,
      data = transform(DF,
                       fct = cut(WindDir, seq(0,180,3))),
      facets=~fct)

ファセット変数で「汚染」することはありませんdataが、(ファセット仕様の列の関数ではなく)ggplotがファセットオンするデータフレーム内にあります。

これは、拡張構文でも同様に機能します。

ggplot(transform(DF,
                 fct = cut(WindDir, seq(0,180,3))),
       aes(WindSpeed, Force)) +
  geom_point() +
  facet_wrap(~fct)
于 2013-01-28T20:37:48.310 に答える