Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【R】ヒストグラムと規格化したフィット結果の重ね書き

png("hoge.png", width=800, height=800, res=120)

bins = 20

 h <- hist(data3, plot = FALSE, breaks=bins)

 x <- seq(max(min(h$breaks), (a[1] - a[2]/a[3] + 0.001)), max(h$breaks), length = 100) # lengthは曲線の目の細かさ

 y <- gev.dens(a, x) 

 hist(data3, freq = FALSE, ylim = c(0, max(max(h$density), max(y))),

            xlab =“hoge", ylab = "histogram", 

             main = main_text, breaks=bins)

points(data3, rep(0, length(data3)))

lines(x, y)


dev.off()

最初の1行と最後の1行はpngとして出力するための設定なので不要なら消す

binsはヒストグラムのビン数

一度histでdata3のヒストグラムを作成し、確率密度関数の最小値と最大値を入手する
その上で最小値〜最大値までを100分割するような点としてxを準備
yは重ね書きしたい確率密度関数
ここではガンベル分布になっているけど、なんでもいい

histでもう一度data3のヒストグラムを取る、今度は描画あり

linesで確率密度関数をプロット