ggplotの棒グラフに周波数と累積頻度を並べて表示しようとしていますが、最終的にはバーが重なってしまいます。ggplotでbarchartの頻度と累積頻度を並べる方法(ドッジポジション)
再現性の例:
data(mtcars)
setDT(mtcars)
data <- mtcars[, .(Total = .N), by = carb][order(carb)][, .(carb, freq = Total/sum(Total))][
, .(carb, freq, cumfreq = cumsum(freq))]
ggplot(data, aes(x = carb)) +
geom_bar(fill = "red", alpha = 0.5, stat = "identity" , aes(y = freq), position = position_dodge()) +
geom_bar(fill = "blue", alpha = 0.5, stat = "identity" , aes(y = cumfreq), position = position_dodge())
あなたのアドバイスは理解されるであろう。
これは良いアイデアであり、ありがとうございます。しかし、より一般的には、私はベクトルに対応する棒を置くことができることに興味を持っています。 ggplotを使用して列を並べて表示します。例えば。この場合、列はfreqとcumfreqです。より直接的な方法があるのですか、それとも常にデータの形を変えるべきですか? – AlK