均方误差(MSE)函数参数" poly"

时间:2015-04-04 23:16:13

标签: r kernel-density spatial-data

我正在尝试估算内核平滑数据的初始带宽值,计算均方误差(函数“mse2d”),但在函数参数的多边形实现代码中遇到错误。

我在Bivand,Pebesma和Gómez-Rubio(2013年,第186页)中使用spatstat Redwood数据集,这很好用:

library(spatstat)
library(splancs)
data(redwood)
spred<-as(redwood, "SpatialPoints")

#this is the function that computes the Mean Squared Error of the points
#distribution: mse2d(pts,poly,nsmse, range)
mserwq <- mse2d(as.points(coordinates(spred)), as.points(list(x = c(0,1, 1, 0), y = c(0, 0, 1, 1))), 100, 0.15)
bwq <- mserwq$h[which.min(mserwq$mse)]
bwq

确定。我使用我的数据集重现了这段代码。这是我的代码,带有一个点子样本,返回相同的错误:

m23.Xs<-c(17349,13212,11551,16659,9461,12062,12802,9638,9835,9803)
m23.Ys<-c(576,13600,6372,11763,11081,5462,15802,11667,11552,11121)
# matrix of coordinates
loc23<-matrix(c(m23.Xs,m23.Ys),nrow=10,byrow=FALSE) 

MSEm23<-mse2d(as.points(coodinates(loc.m23),as.points(list(x=c(0,20000,20000,0),y=c(0,0,20000,20000))),100,0.15))

Error in storage.mode(poly) <- "double" : argument "poly" missing, without pattern

实际上,我将错误信息翻译成英文,不知道它是否完全像这样。

如你所见,我的代码重现了书中的结构,但我一直在使用这个“poly”参数出错。我试图学习在splancs包中构造多边形,但无法弄清楚如何以及没有找到任何关于此的文档。在网上搜索之后,我还尝试在“poly”参数中放置“owin”对象和矩阵而不是列表,但都没有解决。

我很感激任何评论或帮助。 提前谢谢大家。

利拉

0 个答案:

没有答案