8

この問題に対する答えを長い間探してきましたが、答えを見つけることができませんでした。

問題は次のとおりです。フロー レート 1 (CH_SONAR)、フロー レート 2 (CH_SONAR_2T)、密度 (CH_DENSITY)、および 2 つのフロー レートのパーセント差 (per_diff) という変数を持つデータ フレームがあります。流量 1 用に 5 レベルの係数を作成し、密度用に別の 5 レベルの係数を作成しました。

f.factor <- cut(p.pipeline$CH_SONAR_2T, 5, labels = c('Very Low','Low', 'Medium', 'High', 'Very High'))

d.factor <- cut(p.pipeline$CH_DENSITY, 5, labels = c('Water', 'Very Sparce', 'Sparce', 'Dense', 'Very Dense'))

各要素を塗りつぶし変数として使用して、ggplot2 を使用して両方をプロットしました。

qplot(per_diff, data = p.pipeline, geom = "histogram", binwidth = 1, xlim = c(-5, 15), fill = f.factor)

qplot(per_diff, data = p.pipeline, geom = "histogram", binwidth = 1, xlim = c(-5, 15), fill = d.factor)

ここで、流量と密度の関係を確認できる ggplot を使用してヒストグラムを作成したいと思います (25 の可能な組み合わせすべてについて、水と非常に低い、非常に少ないと低い、少ないと低いなど)。新しいファクターを作成し、d.factor と f.factor をデータ フレームにバインドし、2 つのファクターを一緒にバインドしようとしましたが、結果が得られませんでした。

私が作成したヒストグラムを含めてみましたが、それを行うのに十分な評判がないと思います.

ご助力いただきありがとうございます!

4

1 に答える 1

10

使用できますfill=interaction(f.factor, d.factor)。'Low.Very Sparce' など、凡例に表示されない組み合わせは、これらの両方のカテゴリに属する​​観測値がないことを示します。

ここに画像の説明を入力

隣接するレベルの色をより目立たせたい場合は、 で色を生成してrainbowから、他のすべての色をホイールの反対側に入れ替えます。

col <- rainbow(length(levels(interaction(f.factor, d.factor))), v=.75, s=.5)
col.index <- ifelse(seq(col) %% 2, 
                    seq(col), 
                    (seq(ceiling(length(col)/2), length.out=length(col)) %% length(col)) + 1)
mixed <- col[col.index]
qplot(per_diff, data = p.pipeline, 
      geom = "histogram", binwidth = 1, xlim = c(-5, 15), 
      fill = interaction(f.factor, d.factor)) + scale_fill_manual(values=mixed)

ここに画像の説明を入力

于 2013-04-02T20:55:37.817 に答える