簡単な質問ですが、私はRの初心者ですので、少し驚いています。データ視覚化スキルを実践するために、Rでいくつかの円グラフを作成しようとしています。円グラフでの面取りR
私はこのようになり、データフレームを持っている:
carrier n_cancelled n_early n_ontime n_late
<chr> <int> <int> <int> <int>
1 9E 1044 54 12891 4471
2 AA 636 16 26965 5112
3 AS 2 12 606 94
4 B6 466 155 41661 12353
5 DL 349 36 39931 7794
6 EV 2817 66 35646 15644
7 F9 3 1 489 192
8 FL 73 16 2321 850
9 HA 0 1 317 24
10 MQ 1234 53 19790 5320
11 OO 3 0 23 6
12 UA 686 22 45762 12195
13 US 663 9 17444 2420
14 VX 31 7 4231 893
15 WN 192 0 8833 3250
16 YV 56 2 387 156
私が探しては、各キャリアのために、以下のような円グラフの数です。
今私はこのようなコード...
status <- c("Cancelled", "Early", "On-Time", "Late")
ggplot(counts_by_carrier, aes(x = factor(1), y = c(n_cancelled, n_early, n_ontime, n_late), fill = status)) +
geom_bar(width = 1, stat = "identity") +
coord_polar("y", start = 0) +
blank_theme +
facet_grid(facets=. ~ carrier)
を持っている。しかし、それはエラーとして理にかなっているError: Aesthetics must be either length 1 or the same as the data (16): x, y, fill
を返します。私はそれをY値としてn_cancelledなどのすべての値のベクトルとして供給しています。そして、それを単一のpiechartで扱う方法はわかりません。
しかし、私はそれを修正する方法は現在私の外です。一度に1つの行だけを見て、すべての行に異なる行を印刷するようにするにはどうすればよいですか?
写真はコード/データではなく、サンプルにデータを含める方法については、質問ページ(およびSO R FAQ /タグページ)に情報がありました。ワッフルチャートや単純な棒グラフも良い方法です。 – hrbrmstr
まずデータを長い形式に変換する必要があります。例えば、 'reshape2 :: melt'や' tidyr :: gather'を使います。 'Carrier'はあなたのID列です(それを溶かさないでください)。次に、単一の残りの値列をyとして、変数列のみをxとして供給します。キャリアによるファセット –