如何将条形图归一化为 R 中的正态分布?

how to normalize a barplot to normal distribution in R?

我使用 ggplot 创建了一个条形图,其中 x 轴代表一个按升序排列的数字,每个数字都有自己的百分比。我想对观察到的条形图(高斯)进行归一化,以便比较两个条形图。有人知道该怎么做吗? 这是我的代码:

lemon_imp_05 = subset(Lemon_brevante_data,Lemon_brevante_data$Block == "IMP-05")
  S = lemon_imp_05$percentage
  names(S) = lemon_imp_05$count
  barplot(S, main = 'Block IMP-05 Loam',
          xlab= 'Count(N.fruits/carton)',ylab = 'percentage(%)', col = "green")

结果是一个非正态分布的条形图,但我想在观察到的条形图上强制使用正态分布(不知道如何添加当前结果的图片)。 有什么建议么? 谢谢

是否要绘制经验数据的 densitity 分布,并将其与具有相同 meansd 的正态分布进行比较?

plot(density(y), ylim=c(0, .5), lwd=2)
curve(dnorm(x, mean=mean(y), sd=sd(y)), add=TRUE, lwd=2, lty=2, col=2)

像这样?


数据:

set.seed(42)
y <- rnorm(1e2, mean=1.5, sd=.8)

或使用hist.

h <- hist(y, freq=F, breaks="FD")
curve(dnorm(x, mean=mean(y), sd=sd(y)), add=TRUE, lwd=2, lty=2, col=2)

## stored values
h
# $breaks
# [1] -1.0 -0.5  0.0  0.5  1.0  1.5  2.0  2.5  3.0  3.5
# 
# $counts
# [1]  2  2  6 15 21 23 17 11  3
# 
# $density
# [1] 0.04 0.04 0.12 0.30 0.42 0.46 0.34 0.22 0.06
# 
# $mids
# [1] -0.75 -0.25  0.25  0.75  1.25  1.75  2.25  2.75  3.25
# 
# $xname
# [1] "y"
# 
# $equidist
# [1] TRUE
# 
# attr(,"class")
# [1] "histogram"