请考虑以下示例图:
mtcars %>% ggplot() + stat_bin(aes(x=wt, y=..density..), binwidth=0.2)
密度的最大值接近0.8。是否有可能知道其确切值?
根据stat_bin
文档,..density..
表示bin中点的密度,按比例缩放以积分为1 ,但这对我的理解并没有太大帮助。值是在实践中计算的,或者是如何获取最大密度点的(因为它还取决于binwidth
集)。
我离得越近:
binwidth = 0.2
((mtcars$wt %/% binwidth)*binwidth) %>% table %>% prop.table %>% max
但是它确实返回了在图中观察到的值。
有什么想法吗?
答案 0 :(得分:2)
不清楚是什么,但是如果要查找密度曲线的最大值,请尝试以下操作:
dens <- density(mtcars$wt)
plot(dens)
max(dens$y)
## [1] 0.5068726
答案 1 :(得分:1)
您可以尝试
binwidth=0.2
x=mtcars$wt
x_bins <- table(cut(x,breaks=seq(min(x),max(x),by = binwidth)),useNA = "ifany" )
max(x_bins)/(sum(x_bins)*binwidth )
#[1] 0.78125
或
gg_plot <- mtcars %>% ggplot() + stat_bin(aes(x=wt, y=..density..), binwidth=binwidth)
max(ggplot_build(gg_plot)$data[[1]][[1]])