データのために加重ヒストグラムをプロットする必要があるデータセットがあります
gridcellname value avg.temp
Y55X21 4,84 4,09
Y56X17 0 5,34
Y44X44 2,75 1,8
Y46X38 3,68 3,4
Y58X19 4,32 5,08
Y59X17 0 4,8
Y60X20 5,29 5,27
Y61X18 0 5,15
Y62X21 5,59 5,09
Y63X19 3,05 5,47
Y64X22 2,75 5,04
Y65X25 4,82 4,54
Y66X22 0 4,54
加重ヒストグラムを使用し、
H <- weighted.hist(df$avg.temp, df$value, ylim=c(0,120), breaks=c(seq(-1.5,8.5, by=0.5)))
また
ggplot(df, aes(y=value, x=temp_category)) + stat_summary(fun.y="sum", geom="bar")
これにより、素敵なグラフが得られますが、その上に通常の曲線を描くことができません。2 つのプロットからわかるように、(-1.5,-1) カテゴリにデータがない可能性がありますが、それでもプロットして、y 軸の範囲 (0,120) を維持したいと思いますが、最大値は約 40 です。 .
曲線を追加するためにこれらの2つのコードを試しましたが、完全に正しいわけではありません
xfit<-seq(min(df$value),max(df$value))
yfit<-dnorm(xfit,mean=mean(df$value),sd=sd(df$value))
yfit <- yfit*diff(H$mids[1:2])*length(df$value)
lines(xfit, yfit, col="blue", lwd=2)
この曲線は私のプロットの左側にあるようです。
ggplot(df, aes(y=value, x=temp_category)) + stat_summary(fun.y="sum", geom="bar") + stat_function(fun=dnorm, args=list(mean=mean(df$value), sd=sd(df$value)))
これにより、x 軸に対してほぼ平坦な水平線が得られます。
ありがとうございました!