2017-08-03 100 views
0
# The Old Faithful geyser data 
d <- density(faithful$eruptions, bw = "sj") 
> head(d$x) 
[1] 1.179869 1.188363 1.196857 1.205350 1.213844 1.222338 

我使用density功能{stats},我想知道是否有可能看到在特定值的密度输出?例如,目前,我在火山喷发值[1] 1.179869 1.188363 ...处有密度估计,但如果我想知道火山喷发值1 2 5 10 ...处的密度估计值?有没有办法提取这些density对象,dR:如何获取特定密度估计

+0

您可能需要使用'interp'在'x'和'返回对象的y'部件... –

+0

你在找这样的事情:' x < - 2;约(d $ x,d $ y,xout = x)'? – AK88

+0

如果你的意思是你想提取数据集中给定位置的x值,那么你可以使用'd $ x [3]'作为第三个值。或'd $ y [5]'为第五个位置y结果,您可以提取您想要的任何值。 – sconfluentus

回答

0

如果我正确理解你,你想要的概率x值等于一些数字(3或4在我的解决方案)?

d <- density(faithful$eruptions, bw = "sj") 
densityDF <- data.frame(xVals = d$x, prob = d$y) 
densityDF$xVals <- round(densityDF$xVals) 

densitySearch <- densityDF[densityDF$xVals %in% c(3,4),] 

结果:

xVals  prob 
157  3 0.11229482 
158  3 0.10721410 
159  3 0.10230912 
160  3 0.09765156 
161  3 0.09318662 
162  3 0.08891621