私はデータフレームの積み重ね棒グラフを、データを変換せずに、解釈上の理由から作成したいと考えています。私のデータは次のようになります。ggplot 2列の棒グラフをスタック
#Code
year <- c(1:5)
burglaries <- c(234,211,201,150,155)
robberies <- c(12, 19,18,23,25)
total <- burglaries + robberies
df <- data.frame(year, burglaries, robberies, total)
#Output
print(df)
year burglaries robberies total
1 1 234 12 246
2 2 211 19 230
3 3 201 18 219
4 4 150 23 173
5 5 155 25 180
私は次のように設定私のデータを変換することによって、私は必要なプロットを作成することができます。
df2 <- rbind(
data.frame(year, "count" = burglaries, "type"="burglaries"),
data.frame(year, "count" = robberies, "type"="robberies")
)
ggplot(df2, aes(x=year, y=count, fill=type)) +
geom_bar(stat="identity")
を同じプロットを作成する方法はありますデータフレームdf
?データを変換することはできますが、プログラムで何が起こっているのかを追跡してエラーをキャッチするのが難しくなると心配します(使用しているデータセットはかなり大きい)。最終的には変換が必要とされて
あなたはggplotを具体的に使用できるように設計された方法に対して作業しています。 ggplot _wants_あなたはあなたのデータをまず変換(融解、収集、整理、あなたがそれを呼びたいと思っているもの)します。短い答えはいいえ、本当はありません。 – joran