将向量转换为 R 中的密度向量

Convert a vector to density vector in R

我有一个向量

v = [..., -10, -10, -10, ..., 1, 2, 5, 6, 7, 9, ...]

geom_density 以平滑的方式绘制此向量的直方图,就像密度函数一样!

如何使用 auc、曲线下面积、库 MESS 的函数来计算给定区间内此类向量的密度图的曲线下面积,让说 (-1, 3)?

"The geom_density plots the histogram of this vector in a smooth fashion, like a density function!" 好吧,那是因为 geom_density 执行了 kernel density estimation!所以它不是"like a density function",它一个密度函数。

geom_density 的幕后,实际上是 stats::density 执行密度估计。给出了核密度估计,使得它们定义了一个适当的概率密度函数,其具有曲线下的单位面积。

我们可以通过

确认
x <- rnorm(100)
dens <- density(x)
df <- data.frame(x = dens$x, y = dens$y)
sum(df$y) * diff(df$x)[1]
#[1] 1.000952

足够接近了。

通过对df中的相应值求和,可以直接在特定范围内对密度函数进行积分;由于您不提供示例数据,因此我将其留给您。