为 spatstat 中空间变化的相对风险的非参数估计指定自定义权重
Specifying custom weights for the nonparametric estimate of spatially-varying relative risk in spatstat
有没有办法在 spatstat
(版本 1.63-3)的 relrisk.ppp
函数中指定权重?
relrisk.ppp
函数调用 density.ppp
函数,该函数允许用户指定自己的权重。
例如,让我们以提供的 spatstat.data::urkiola
数据为基础,其中位置不是单棵树,而是树丛,我们有第二个数字标记表示每个点位置的树木频率:
urkiola_new <- spatstat.data::urkiola
urkiola_new$marks <- data.frame("type" = urkiola_new$marks, "freq" = rpois(urkiola_new$n, 3))
f1 <- spatstat::relrisk(urkiola_new, weights = urkiola_new$marks$freq)
当在 relrisk
的调用中使用 urkiola_new
时,urkiola_new
被 relrisk.ppp
中的 stopifnot(is.multitype(X))
捕获。接下来,我尝试在使用原始 urkiola
数据时将权重单独指定为向量,
f2 <- spatstat::relrisk(urkiola, weights = urkiola_new$marks$freq)
但被内部 density.ppp
函数中的 pixellate.ppp
函数警告捕获:
Error in pixellate.ppp(x, ..., padzero = TRUE) : length(weights) == npoints(x) || length(weights) == 1 is not TRUE
将权重转换为列表时出现同样的错误
urkiola_weights <- split(urkiola_new$marks$freq, urkiola_new$marks$type)
f3 <- spatstat::relrisk(urkiola, weights = urkiola_weights)
我怀疑有一种方法可以巧妙地指定权重,但我还是没有想到。任何建议或指导都会有所帮助,谢谢!
函数 relrisk.ppp
当前未设计用于处理权重。 relrisk.ppp
的帮助条目没有提到权重。
上面的例子是行不通的,因为relrisk.ppp
将density.ppp
分别应用于每种类型点的子模式,而额外的参数weights
是这些点的错误长度子模式。
我会将此问题作为功能请求,将此功能添加到 relrisk.ppp
。应该快了。
更新:现在在开发版本中实现,spatstat 1.64-0.018
可在spatstat github repository
有没有办法在 spatstat
(版本 1.63-3)的 relrisk.ppp
函数中指定权重?
relrisk.ppp
函数调用 density.ppp
函数,该函数允许用户指定自己的权重。
例如,让我们以提供的 spatstat.data::urkiola
数据为基础,其中位置不是单棵树,而是树丛,我们有第二个数字标记表示每个点位置的树木频率:
urkiola_new <- spatstat.data::urkiola
urkiola_new$marks <- data.frame("type" = urkiola_new$marks, "freq" = rpois(urkiola_new$n, 3))
f1 <- spatstat::relrisk(urkiola_new, weights = urkiola_new$marks$freq)
当在 relrisk
的调用中使用 urkiola_new
时,urkiola_new
被 relrisk.ppp
中的 stopifnot(is.multitype(X))
捕获。接下来,我尝试在使用原始 urkiola
数据时将权重单独指定为向量,
f2 <- spatstat::relrisk(urkiola, weights = urkiola_new$marks$freq)
但被内部 density.ppp
函数中的 pixellate.ppp
函数警告捕获:
Error in pixellate.ppp(x, ..., padzero = TRUE) : length(weights) == npoints(x) || length(weights) == 1 is not TRUE
将权重转换为列表时出现同样的错误
urkiola_weights <- split(urkiola_new$marks$freq, urkiola_new$marks$type)
f3 <- spatstat::relrisk(urkiola, weights = urkiola_weights)
我怀疑有一种方法可以巧妙地指定权重,但我还是没有想到。任何建议或指导都会有所帮助,谢谢!
函数 relrisk.ppp
当前未设计用于处理权重。 relrisk.ppp
的帮助条目没有提到权重。
上面的例子是行不通的,因为relrisk.ppp
将density.ppp
分别应用于每种类型点的子模式,而额外的参数weights
是这些点的错误长度子模式。
我会将此问题作为功能请求,将此功能添加到 relrisk.ppp
。应该快了。
更新:现在在开发版本中实现,spatstat 1.64-0.018
可在spatstat github repository