我正在尝试使用具有空间协方差结构的“glmmtmb”包运行混合效应模型,该结构说明了球体上点之间的距离。我已经深入研究了源代码并确定了我认为他们计算空间协方差结构的欧几里得距离的位置。我知道基于此网站使用欧几里得距离: https ://cran.r-project.org/web/packages/glmmTMB/vignettes/covstruct.html
通过调出源代码:
trace(getReStruc, edit = T)
第 44 行是他们使用该dist(coords)
距离矩阵的地方。
我想更改那个 = 代码,以便它计算大圆距离而不是欧几里得距离。但是,'geosphere' 包中的 distHaversine() 等函数需要 4 个参数(x1 的纬度、x1 的经度、x2 的经度、x2 的经度),所以我不能只插入:
geosphere::distHaversine(coords)
有没有人可以解决这个问题?任何帮助将非常感激!