電車に乗っていた人の数を示す2週間のデータフレームがあります。各観測は3つの値、日付、乗客の数、および曜日を含みます。先週から今週(月曜日〜月曜日、土曜日〜火曜日など)の各日の乗客を比較したいと思います。ここでは、データがある:ggplot2:各X値の複数のY値をプロットするためのデータの整形
structure(list(total = structure(c(17455, 17456, 17457, 17458,
17459, 17460, 17461, 17462, 17463, 17464, 17465, 17466, 17467,
17468), class = "Date"), passengers = c(9299L, 9166L, 10234L,
10176L, 10098L, 2867L, 5416L, 9312L, 10555L, 10858L, 10169L,
9515L, 2679L, 5490L), dow = c("Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday", "Sunday", "Monday", "Tuesday",
"Wednesday", "Thursday", "Friday", "Saturday", "Sunday")), .Names =
c("total", "passengers", "dow"), class = "data.frame")
(報告書を作成した自動化システムは、日付の用語「合計」を使用し、私はそれが混乱する可能性があるとして、それを指摘する必要性を感じました)。
Iはggplotを作成すると、それが唯一の代わりに並んで2辺の棒グラフ1つのy値をマッピング:私はこのようなインスタンスのデータを溶融するために使用される変形を見ている
ggplot(x, aes(x=dow, y=passengers), fill=variable) +
geom_bar(stat = "identity", position = "dodge")
、しかしid.varsの値として曜日を使用して溶かすと、日付は科学的表記(小さな問題)に変換されますが、ggplotは乗客の変数(大きな問題)を見つけることができません。対処すべき
したがって、キーには2つの異なる週があることを示す識別子変数が追加されています。塗りつぶし値が指定されていない場合、これはやはり避けるか同じ問題が続くでしょうか? @Z.Lin – Brad
@Brad比較を容易にするために異なる塗りつぶしの色を必要としない場合は、 'aes()'の中に 'group = total'を含めます。これはパッケージに、「合計」(つまり、毎日)の各値を1つのグループとして扱い、1日ごとに棒を取り除かせたいということを伝えます。識別子を指定しない場合、毎日のバーは同じ位置で重複します( 'geom_bar'の透過度を減らすことでこれを確認できます。例えば、' alpha = 0.5'を設定してください) –
私のデータフレームを以前は週の列を追加していたので、グラフを作成できました。 (私はまだdplyrを学んでいませんでした)しかし、私のX値は別々にソートされていますので、グラフは金曜日、月曜日、土曜日になります。私はあなたが "レベル"引数をあなたがしたように命令したので、今週の曜日を順番に保った? @ Z.Lin – Brad