【问题标题】:'Calloc' could not allocate memory with kernelUD function'Calloc' 无法使用 kernelUD 函数分配内存
【发布时间】:2019-07-14 13:04:33
【问题描述】:

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

当我尝试使用 adehabitatHR 包中的 kernelUD() 函数时,取决于 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)

有什么想法吗?

【问题讨论】:

    标签: r


    【解决方案1】:

    我也有同样的问题。据我所知,如果迁移次数过多,LSCV 似乎表现不佳(或者干脆惨败)(Hemson 等人 2005 Journal of Animal Ecology 2005. 74, 455–463)。我的很大,当我尝试使用 hLSCV 运行 KDE 时,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
    

    无论我将他设置多高,它都不会收敛。一个可能的解决方案是使用“jitter”函数为重定位添加噪音,如下所述: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

    虽然它对我不起作用,但我希望这对任何人都有帮助

    【讨论】:

      猜你喜欢
      • 2017-12-07
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 2021-12-19
      • 2013-12-21
      • 1970-01-01
      • 2019-11-11
      • 1970-01-01
      相关资源
      最近更新 更多