首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“‘Calloc”无法使用kernelUD函数分配内存

“‘Calloc”无法使用kernelUD函数分配内存
EN

Stack Overflow用户
提问于 2019-02-21 02:38:29
回答 1查看 306关注 0票数 2

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

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

代码语言:javascript
复制
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 :(
代码语言:javascript
复制
Error in .kernelUDs(SpatialPoints(x, proj4string = CRS(as.character(pfs1))),  : 
  'Calloc' could not allocate memory (18446744071710095360 of 8 bytes)

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2020-04-22 02:10:17

我也有同样的问题。据我所知,如果重新定位的数量太大,LSCV似乎表现得很差(或者只是失败得可怜) (Hemson et al 2005 Journal of Animal Ecology 2005 )。74,455-463)。我的代码很大,一开始当我试图用hLSCV运行KDE时,R会话中止了,尽管所有的ref都运行得很好。

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

代码语言:javascript
复制
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-pdfhttps://animov.faunalia.narkive.com/NnG9nLKl/again-kernelud-and-lscv

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54793150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档