通过dwp包,我得到了描述原始数据的概率密度函数。函数本身在列表中给出,所以我可以通过检查特定的列表元素来查看拟合的参数:
> Kbatmod$xep02
Distribution: xep02
Formula: ncarc ~ log(r) + I(r^2) + offset(log(exposure))
Parameters:
b0 b2
-0.8396640654 -0.0004653923
Coefficients:
(Intercept) log(r) I(r^2)
-2.1154557406 -0.8396640654 -0.0004653923
Variance:
(Intercept) log(r) I(r^2)
(Intercept) 3.034712e-01 -1.111308e-01 4.550014e-05
log(r) -1.111308e-01 4.608998e-02 -2.451855e-05
I(r^2) 4.550014e-05 -2.451855e-05 2.531856e-08
现在我想对该函数进行采样,以绘制点云(0,0周围的位置(。方向或方位将作为0到360之间的随机数进行采样。但是距离需要适应这个拟合的xep02函数。我在dwp包中找不到能做到这一点的函数,尽管它的手册使用这种密度点云来解释它是如何工作的。
我尝试了RVCompare软件包和函数sampleFromDensity。但我不断地出错,我相信这是因为我给它xep02函数的方式。
> dwpPDF <- Kbatmod$xep02
>
> PDFsamples <- sampleFromDensity(dwpPDF, 100, c(0,100))
Error in density.default(X[[i]], ...) :
need at least 2 points to select a bandwidth automatically
有人能帮我如何";翻译";什么dwp包给了我RVCompare的输入?
目标是获得一个具有100个距离的向量,该向量适合xep02 PDF,添加100个随机选择的方位的向量,然后在ArcGIS中绘制这些向量,以覆盖预定义的多边形,并查看这些多边形中有多少点。
sampleFromDensity
需要一个函数作为其第一个参数。您可以使用ddd
功能来完成此操作:
sampleFromDensity(function(x) ddd(x, dwpPDF), 100, c(0,100))