長さの異なる 2 つのベクトルがあり、それぞれに 0 ~ 50 の数値が含まれています。ベクトルに含まれていない数値もあれば、複数回出現する数値もあります。
a <- c(22, 11, 9, 15, 19, 14, 13, 17, 24, 21, 21, 19, 20, 23, 18, 20, 21, 15, 25, 11, 21, 19, 27, 20, 30, 11, 31, 28, 21, 24, 29, 13, 19, 13, 18, 18, 11, 29, 7, 21, 36, 21, 31, 24, 28, 36, 12, 21, 18, 27, 6, 23, 22, 25, 17, 15, 27, 9, 33, 14, 4, 15, 31, 27, 22, 25, 31, 23, 8, 23, 27, 21, 19, 17, 5, 29, 15, 26, 25, 30, 29, 5, 19, 12, 23, 8, 21, 20, 23, 19, 18, 40, 33, 17, 15, 25, 15, 15, 10, 9, 19, 11, 41, 14, 33, 5, 28, 15, 27, 16, 9, 5, 21, 19, 19, 29, 30, 8, 15, 20, 26, 17, 35, 18, 18, 26, 35, 33, 30, 11, 26, 21, 14, 20, 20, 23, 15, 21, 23, 15, 12, 8, 33, 13, 15, 5, 19, 12, 23, 18, 19, 15, 18, 16, 7, 19, 21, 23, 8, 10, 6, 5, 20, 19, 18, 13, 32, 14, 11, 14, 26, 28, 20, 9, 31, 19, 9, 23, 29, 12, 37, 17, 15, 13, 18, 23, 18, 10, 13, 18, 28, 8, 17, 18, 14, 14, 19, 23, 16, 30, 16, 16, 19, 13, 15, 25, 22, 36, 8, 26, 5, 2, 26)
b <- c(7, 2, 3, 11, 16, 1, 3, 9, 15, 27, 2, 5, 11, 13, 24, 29, 11, 6, 1, 2, 5, 4, 2, 1, 7, 3, 0, 26, 13, 2, 15, 14, 11, 12, 15, 10, 4, 24, 21, 3, 43, 12, 19, 5, 2, 30, 9, 3, 5, 8, 25, 5, 24, 16, 15, 7, 2, 28, 8, 1, 15, 11, 3, 19, 28, 7, 3, 16, 7, 19, 5, 7, 1, 21, 21, 4, 8, 11, 16, 27, 13, 9, 2, 5, 14, 10, 3, 4, 20, 10, 7, 1, 10, 13, 11, 12, 10, 9, 24, 4, 26, 7, 11, 14, 3, 2, 9, 5, 1, 6, 9, 8, 16, 23, 3, 5, 5, 23, 25, 14, 3, 7, 16, 1, 11, 4, 2, 8, 6, 2, 2, 2, 2, 16, 8, 5, 15, 14, 10, 7, 9, 13, 5, 10, 18, 1, 24, 1, 8, 14, 3, 16, 18, 13, 0, 0, 10, 3, 21, 10, 8, 4, 2, 2, 4, 1, 10, 10, 8, 5, 17, 19, 2, 6, 5, 5, 17, 13, 0, 1, 19, 2, 14, 24, 7, 4, 8, 9, 7, 9, 6, 15, 8, 3, 7, 9, 13, 20, 13, 1, 7, 6, 28, 2, 11, 7, 0, 14)
各数値が各ベクトルに含まれる頻度、つまり数値の頻度を示す線をプロットしたいと考えています。
可能性のある各数値の間にブレークを設定すると、頻度を示すヒストグラムを描画できます。
hist(a, breaks=seq(-0.5, 50.5, 1), xlim = c(0, 50), col = rgb(0,1,0,0.5))
par(new=TRUE)
hist(b, breaks=seq(-0.5, 50.5, 1), xlim = c(0, 50), col = rgb(1,0,1,0.5))
私は経験的な累積分布関数 ( ecdf()
) があることを知っています。これは S のような形になります。しかし、私が望むのは、ヒストグラムのアウトラインに似た、段階的なベルカーブのような結果になる非累積 的な経験的分布関数です。
私が得ることができる最も近いものは、密度をプロットすることです:
plot(density(a), xlim = c(-10, 50))
par(new=TRUE)
plot(density(b), xlim = c(-10, 50))
しかし、それは私が望むものではありません。私が欲しいのは、周波数の「曲線」です。次のようになります (Photohshop でフリーハンドで描画)。
では、どうすれば周波数「曲線」を実現できますか?