'Calloc'无法使用kernelUD函数分配内存

时间:2019-02-20 18:38:29

标签: r

我知道,不久前有人问过类似的问题("'Calloc 'could not allocate memory" in 64-bit R),我试图在那边问,但是我被删除了……尽管正如我在问题中所说,我确实尝试了他们的解决方案(更新插件),但对我而言不起作用。太好了,让我再试一次:)

当我尝试使用kernelUD()包中的adehabitatHR函数时,根据h参数值,我会得到该错误。它可以与h="href"参数一起使用,但不能与h="LSCV"(不同的平滑参数)一起使用

require(adehabitatHR)
BCLoc <- puechabonsp$relocs[, 1] #data comes with adehabitatHR
BC.href <- kernelUD(BCLoc, h="href") #works :)
BC.LSCV <- kernelUD(BCLoc, h="LSCV") #gets error :(
Error in .kernelUDs(SpatialPoints(x, proj4string = CRS(as.character(pfs1))),  : 
  'Calloc' could not allocate memory (18446744071710095360 of 8 bytes)

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我有完全相同的问题。就我所学到的而言,如果重新安置的数量过多,则LSCV的表现似乎很差(或者简直惨不忍睹)(Hemson等,2005 Journal of Animal Ecology 2005. 74,455-463)。当我尝试使用hLSCV运行KDE时,Mine非常庞大,并且在R会话开始时就中止了,尽管所有这些在ref上都运行良好。

当我减少样本时,我得到了您所询问的错误。进一步减少它,我开始出现一个新错误:

In .kernelUDs(SpatialPoints(x, proj4string = CRS(as.character(pfs1))),  :
  The algorithm did not converge within the specified range of hlim:
  try to increase it

无论我把他设置得多么高,它都不会收敛。一种可能的解决方案是使用“抖动”功能在重定位中添加噪声,如下所示:https://ecosystems.psu.edu/research/labs/walter-lab/manual/home-range-estimation/link-to-pdf和此处https://animov.faunalia.narkive.com/NnG9nLKl/again-kernelud-and-lscv

尽管它对我没有用,但是我希望这对任何人都可以帮助