タイトルは、2D ヒストグラムではなく「ドッジ棒グラフ」に変更する必要があります。これは、棒グラフとは異なり、ヒストグラムは x 軸に連続的な目盛りがあり、基本的に単変量データの分布または従属因子に基づいてモデル化された単変量データの分布を比較するために使用されるためです。 . 棒グラフではなく 2D 散布図を使用して効果的に視覚化できる colB と colC を比較しようとしています。ヒストグラムを使用して colB と colC の分布を比較するより良い方法は、2 つのヒストグラムを別々にプロットし、データ ポイントの位置の変化を確認することです。
colB と colC の分布を比較したい場合は、次のコードを試してください。データの説明に従って妥当なデータを取得するために、値を切り上げました。順列によるランダム サンプリングが行われていることに注意してください。同じコードを実行するたびに、分布がわずかに変化しますが、colB と colC の間の分布の推定には影響しません。
library("ggplot2")
# 44 datapoints between 1-10
a <- rep(1:10, 4)
a <- c(a, sample(a, size=4, replace=FALSE))
# 25 datapoints between 11-20
b <- rep(11:20, 2)
b <- c(b, sample(b, size=5, replace=FALSE))
# 31 datapoints between 21-30
c <- rep(21:30, 3)
c <- c(c, sample(c, size=1, replace=FALSE))
colB <- c(a, b, c)
# 64 datapoints between 1-10
a <- rep(1:10, 6)
a <- c(a, sample(a, size=4, replace=FALSE))
# 36 datapoints between 11-20
b <- rep(11:20, 3)
b <- c(b, sample(b, size=6, replace=FALSE))
colC <- c(a, b)
df <- data.frame(cbind(colB, colC=colC))
write.table(df, file = "data")
data <- read.table("data", header=TRUE)
data
ggplot(data=data, aes(x=colB, xmin=1, xmax=30)) + stat_bin(binwidth = 1)
ggplot(data=data, aes(x=colC, xmin=1, xmax=30)) + stat_bin(binwidth = 1)
# if you want density distribution, then you can try something like this:
ggplot(data=data, aes(x=colB, y = ..density.., xmin=1, xmax=30)) + stat_bin(binwidth = 1)
ggplot(data=data, aes(x=colC, y = ..density.., xmin=1, xmax=30)) + stat_bin(binwidth = 1)
HTH -サティッシュ