"Error in as.double(y) : cannot coerce type 'closure' to vector of type 'double'" 当我尝试测量成对距离时
"Error in as.double(y) : cannot coerce type 'closure' to vector of type 'double'" when I try to measure the pairwise distances
我正在尝试使用 spatstat 生成集群模式进程,然后使用 pairdist 命令计算点之间的距离。我最初使用以下代码创建了一个名为 nclust 的函数:
nclust <- function(x0, y0, radius, n)
{return(runifdisc(n, radius, centre=c(x0, y0)))
}
然后我创建了一个对象来包含情节:
c1<-plot(rPoissonCluster(5, 0.2, nclust, radius=0.2, n=10))
但是,当我尝试像这样使用 pairdist 计算点之间的距离时:
pairdist(c1)
我收到错误:
Error in as.double(y) :
cannot coerce type 'closure' to vector of type 'double'
我理解这可能是因为 c1 是一个函数,我该如何计算这些点之间的距离?是否可以在绘图的 x 轴和 y 轴上添加比例尺,以便获得实际距离值?
非常感谢!
你应该将集群进程的值赋给c1
,然后绘制它:
c1<- rPoissonCluster(5, 0.2, nclust, radius=0.2, n=10)
plot(c1)
结果是 class ppp
的平面点模式,绘图命令被调度到 plot.ppp
。在您的原始命令中,您正在保存绘图的结果。此绘图命令 returns 一个函数,可用于使用相同的绘图选项(字符、颜色等)制作新绘图。
我正在尝试使用 spatstat 生成集群模式进程,然后使用 pairdist 命令计算点之间的距离。我最初使用以下代码创建了一个名为 nclust 的函数:
nclust <- function(x0, y0, radius, n)
{return(runifdisc(n, radius, centre=c(x0, y0)))
}
然后我创建了一个对象来包含情节:
c1<-plot(rPoissonCluster(5, 0.2, nclust, radius=0.2, n=10))
但是,当我尝试像这样使用 pairdist 计算点之间的距离时:
pairdist(c1)
我收到错误:
Error in as.double(y) :
cannot coerce type 'closure' to vector of type 'double'
我理解这可能是因为 c1 是一个函数,我该如何计算这些点之间的距离?是否可以在绘图的 x 轴和 y 轴上添加比例尺,以便获得实际距离值?
非常感谢!
你应该将集群进程的值赋给c1
,然后绘制它:
c1<- rPoissonCluster(5, 0.2, nclust, radius=0.2, n=10)
plot(c1)
结果是 class ppp
的平面点模式,绘图命令被调度到 plot.ppp
。在您的原始命令中,您正在保存绘图的结果。此绘图命令 returns 一个函数,可用于使用相同的绘图选项(字符、颜色等)制作新绘图。