如下所示,density函数返回一个包含密度函数值的列表x,y该列表可用于使用approxfun函数创建“插值”函数。
d <- density(rnorm(100))
str(d)
## List of 7
## $ x : num [1:512] -3.85 -3.83 -3.82 -3.8 -3.79 ...
## $ y : num [1:512] 0.000135 0.000154 0.000176 0.0002 0.000227 ...
## $ bw : num 0.332
## $ n : int 100
## $ call : language density.default(x = rnorm(100))
## $ data.name: chr "rnorm(100)"
## $ has.na : logi FALSE
## - attr(*, "class")= chr "density"
pdf <- approxfun(d)
pdf(2)
## [1] 0.05439069
Run Code Online (Sandbox Code Playgroud)
approxfun给出线性近似
为了验证,让我们绘制原始密度d
plot(d)
Run Code Online (Sandbox Code Playgroud)

pdf现在让我们使用我们创建的新函数绘制插值
x <- seq(-2,2,by=0.01)
points(x, pdf(x))
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
482 次 |
| 最近记录: |