网格对于 kernelUD /getverticeshr/adehabitatHR 家庭范围估计来说太小

2024-04-05

adehabitat HR 的文档建议使用以下代码来在创建 UD 对象后计算家庭范围的 95% 内核:

 ## Calculation of the 95 percent home range
    ver <- getverticeshr(ud, 95)

对于我的一些数据,出现以下错误:

Error in getverticeshr.estUD(x[[i]], percent, ida = names(x)[i], unin,  : 
  The grid is too small to allow the estimation of home-range.
You should rerun kernelUD with a larger extent parameter

在 Nabble 论坛上,人们建议更改“网格”和“范围”输入,但在使用这两个参数的多种组合后,我无法获得更好的结果。有什么建议么?


这是我在一些论坛中发现的常见问题。但答案很简单,就在错误消息中。 “你需要扩展你的网格”。发生这种情况是因为当您申请时getverticeshr(ud, 95)部分多边形超出网格,因此无法获得面积。 例如,在下面的代码中,估计了两种假设动物的 KDE。我使用从 0 到 100 的随机点,因此我定义了一个 100x100 的网格(域)。

#"""
# Language: R script
# This is a temporary script file.
#"""

# 1. Packages
library(adehabitatHR)         # Package for spatal analysis

# 2. Empty Dataframe
points <- data.frame(ID = double())
XY_cor <- data.frame(X = double(),
                     Y = double())
# 3. Assigning values (this will be our spatial coordinates)
set.seed(17)
for(i in c(1:100)){
    if(i >= 50){points[i, 1] <- 1}
    else {points[i, 1] <- 2}
    XY_cor[i, 1] <- runif(1, 0, 100)
    XY_cor[i, 2] <- runif(1, 0, 100)}

# 4. Transform to SpatialDataframe
coordinates(points) <- XY_cor[, c("X", "Y")]
class(points)

# 5. Domain
x <- seq(0, 100, by=1.) # resolution is the pixel size you desire 
y <- seq(0, 100, by=1.)
xy <- expand.grid(x=x,y=y)
coordinates(xy) <- ~x+y
gridded(xy) <- TRUE
class(xy)

# 6. Kernel Density
kud_points <- kernelUD(points, h = "href", grid = xy)
image(kud_points)

# 7. Get the Volum
vud_points <- getvolumeUD(kud_points)

# 8. Get contour
levels <- c(50, 75, 95)
list <- vector(mode="list", length = 2)

list[[1]] <- as.image.SpatialGridDataFrame(vud_points[[1]])
list[[2]] <- as.image.SpatialGridDataFrame(vud_points[[2]])

# 9. Plot
par(mfrow = c(2, 1))
image(vud_points[[1]])
contour(list[[1]], add=TRUE, levels=levels)
image(vud_points[[2]])
contour(list[[2]], add=TRUE, levels=levels)

该图显示 50% 的轮廓在网格内部,但 75% 的轮廓被剪切,这意味着该轮廓的一部分在网格之外。

如果您尝试将 KDE 的顶点估计为 50%,您将获得良好的结果:

# 10. Get vertices (It will be fine)
vkde_points <- getverticeshr(kud_points, percent = 50,
                                 unin = 'm', unout='m2')
plot(vkde_points)

但如果你尝试使用 75% 的水平,你将得到经典错误:getverticeshr.estUD(x[[i]],percent,ida=names(x)[i],unin,中的错误: 网格太小,无法估计家庭范围。 您应该使用更大的范围参数重新运行 kernelUD

# 10. Get vertices (Will be an Error)
vkde_points <- getverticeshr(kud_points, percent = 75,
                                 unin = 'm', unout='m2')
plot(vkde_points)

现在,你可以清楚地看到发生了什么,R 无法估计顶点到 75%,因为它们在网格之外,所以你需要增加域(网格)!这里我将域增加到 50(参见 #5. 域)

# 5. Domain                 HERE GRID IS INCREASED 50 AT X AND Y!!
x <- seq(-50, 150, by=1.) # resolution is the pixel size you desire 
y <- seq(-50, 150, by=1.)
xy <- expand.grid(x=x,y=y)
coordinates(xy) <- ~x+y
gridded(xy) <- TRUE
class(xy)

# 6. Kernel Density
kud_points <- kernelUD(points, h = "href", grid = xy)
image(kud_points)

# 7. Get the Volum
vud_points <- getvolumeUD(kud_points)

# 8. Get contour
levels <- c(50, 75, 95)
list <- vector(mode="list", length = 2)

list[[1]] <- as.image.SpatialGridDataFrame(vud_points[[1]])
list[[2]] <- as.image.SpatialGridDataFrame(vud_points[[2]])

# 9. Plot
par(mfrow = c(2, 1))
image(vud_points[[1]])
contour(list[[1]], add=TRUE, levels=levels)
image(vud_points[[2]])
contour(list[[2]], add=TRUE, levels=levels)

您可以看到所有轮廓都在网格(域)内。所以,现在您将能够估计顶点。

# 10. Get vertices
vkde_points <- getverticeshr(kud_points, percent = 75,
                                 unin = 'm', unout='m2')
plot(vkde_points)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网格对于 kernelUD /getverticeshr/adehabitatHR 家庭范围估计来说太小 的相关文章

  • 如何使用 R markdown 和 bookdown 将图形列表和表格列表添加到目录中

    我有一份报告 pdf 输出 我想在附录中添加参考书目 图表列表和表格列表 我希望这三个元素出现在目录中 我添加参考书目通过增加bibliography bibliography bib到我的 yaml 标头 我直接用 LaTex 添加的图形
  • 如何在 R 中编写 csv 文件,其中我的输入作为行写入文件?

    这是一个非常简单的问题 令我惊讶的是网上没有例子 我有一个向量 vector lt c 1 1 1 1 1 我想将其写为 csv 作为一个简单的行 write csv vector file myfile csv row names FAL
  • 将多个对齐的绘图放置在一页上时避免浪费空间

    我想将四个图放在一个页面上 轴标签应仅打印在最边缘 即x仅用于底部图表的轴标签 以及y仅左图的轴标签 这既适用于整个轴的名称 也适用于各个刻度线 我可以使用以下代码生成一些内容 pdf file ExampleOutput pdf widt
  • 如何将管道链 (magrittr) 的结果提供给对象

    这是一个相当简单的问题 但我无法通过 google stackexchange 找到答案并查看 magrittr 的文档 如何提供通过 gt 连接的函数链的结果来创建向量 我看到大多数人做的是 a lt data frame x c 1 3
  • 如何在Shiny中默认选择verbatimTextOutput中的文本?

    这是与我之前的问题相关的问题 是否可以有固定宽度的 verbatimTextOutput 并让文本在 Shiny 中换行 https stackoverflow com q 58516071 7669809 我有以下闪亮的应用程序 http
  • 按月/年间隔汇总每日数据

    我并不经常需要在 R 中处理日期 但我认为这相当简单 我有一列代表数据框中的日期 我只想创建一个新的数据框 使用日期按月 年总结第二列 最好的方法是什么 我想要第二个数据框 这样我就可以将它提供给绘图 您能提供的任何帮助将不胜感激 编辑 供
  • 在for循环中重命名ggplot2图

    我有一个关于在 for 循环中创建 ggplot2 图表 根据迭代重命名它们 然后在网格中排列图表的问题 我想做类似这个虚拟示例的事情 library ggplot2 a c 1 2 3 b c 4 5 6 for i in c 1 5 x
  • 对列表中的每个数值列表求和

    我想将值附加到 R 中河图中的标签 我有一个值列表列表 需要它来显示节点之间的流 如下所示 edges lt list A list C 10 E 5 B list C 10 C list D 13 E 7 我知道有一个函数可以减少 或求和
  • 在 R 中将列表列表转换为数据帧:Tidyverse 方式

    我正在寻找将列表列表转换为 R 中的数据帧的 Tidyverse 方法 Create a list of lists a lt seq 1 10 1 b lt seq 1 20 2 Function to calculate the sum
  • 如何调整ggplot2中的标题位置

    这是代码 require ggplot2 require grid pdf a pdf png a png a lt qplot date unemploy data economics geom line opts title A b l
  • Foreach循环无法找到对象

    我正在尝试将 foreach 与并行后端结合使用来加速计算 用于特征选择的 AUCRF 随机森林的交叉验证 如果这确实重要的话 在这样做的过程中 我需要获取向量的子集 向量的名称可以更改 但可以作为字符向量进行访问 我使用 eval par
  • 添加带有错误的弹出窗口,警告闪亮

    有什么办法可以添加一个popup 可关闭的窗口 其中包含警告或其他消息Shiny 我用来构建 Web 应用程序的 R 包 我已经寻找了一段时间但没有任何结果 虽然我不认为有任何本地可用的东西shiny 你可以尝试添加jQueryUI到您的应
  • 如何在 sqlSave() 命令中跳过主键?

    我正在尝试使用 RODBC 在 MySQL 数据库中插入 data frame 我正在使用的命令如下 sqlSave channel dbData tablename table name append TRUE safer TRUE fa
  • 使用变量在 r 中像 aes_string 一样选择轴

    我试图提供一个带有列名的变量来创建一个plotly图表 类似于ggplot2 aes string 不知怎的 我被困住了 plot ly iris x Sepal Length y Sepal Width works as expected
  • R闪亮的html小部件之间的交互

    我正在开发一个 R 闪亮应用程序 它使用多个 html 小部件 特别是网络D3 d3热图 and 和弦诊断 这些小部件单独工作正常 但是 在同一页面中使用它们会留下一个空格处他们应该在哪里 这是显示错误的可重现代码 在 UI 中注释绘图线
  • r : 直方图上的 ECDF

    在 R 中 与ecdf我可以绘制经验累积分布函数 plot ecdf mydata 与hist我可以绘制数据的直方图 hist mydata 如何在同一图中绘制直方图和 ecdf EDIT 我尝试做类似的东西 https mathemati
  • 计算级别内的值

    我在 R 中生成了一组级别cut 例如假设 0 到 1 之间的小数值 分为 0 1 个区间 gt frac lt cut c 0 1 breaks 10 gt levels frac 1 0 001 0 1 0 1 0 2 0 2 0 3
  • 从 R 主题模型中的 DocumentTermMatrix 中删除空文档?

    我正在使用 R 中的 topicmodels 包进行主题建模 我正在创建一个 Corpus 对象 进行一些基本的预处理 然后创建一个 DocumentTermMatrix corpus lt Corpus VectorSource vec
  • 解释 survreg 中的威布尔参数

    我正在尝试使用从 R 中的 survreg 估计的参数生成逆威布尔分布 我的意思是 对于给定的概率 这将是在 MS Excel 中实现的小型模拟模型中的随机数 返回使用我的参数预计出现故障 的时间 我理解逆威布尔分布的一般形式是 X b l
  • 如何用日语创建 ggplot2 标题?

    我正在准备日语演示文稿 并希望图像的标题和图例名称为日语 我可以让文本在 RStudio 中渲染得很好 但是当渲染图像时 日语字符仅显示为方框 x 10 10 y x x df data frame x y ggplot df aes x

随机推荐

  • 如何在 ElasticSearch 中从形状获取交点

    我已经存储了一条路线ElasticSearch作为多边形 现在我有一个圆 一个点和一个半径 我可以检查圆点是否与多边形相交 下面是我使用的代码 问题 如何获取与圆相交的路线上的点 public Boolean isMatchingDoc L
  • 省略 Doctrine 生成的 SQL 的鉴别器部分

    假设以下情况AbstractPage model ORM Entity ORM Table name page ORM InheritanceType SINGLE TABLE ORM DiscriminatorColumn name ty
  • 在单个查询中从 mongo 中删除多个文档

    我有一个要删除的 mongo id 列表 目前我正在这样做 inactive users gt list of inactive users for item in inactive users db users remove id ite
  • VHDL (Xilinx) 中的错误:无法链接设计

    为什么我在 VHDL 中遇到错误 另外 有时 无法执行流程 因为之前的流程失败了 非常感谢 永久解决方案1 在win 10上 找出 installation directory Xilinx 14 x ISE DS ISE gnu MinG
  • 为什么会有 CL_DEVICE_MAX_WORK_GROUP_SIZE?

    我试图了解 OpenCL 设备 例如 GPU 的体系结构 但我不明白为什么本地工作组中的工作项数量有明确的限制 即常量 CL DEVICE MAX WORK GROUP SIZE 在我看来 这应该由编译器处理 即 如果 为简单起见 一维 内
  • 云平台- sudo:无法解析主机[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 Amazon EC2 和 openstack 上使用 Linux 作为基于云的服务器 当尝试运行时 sudo chhown ubun
  • 什么时候应该在汇编中使用显式对齐指令?

    我花了一些时间进行汇编编程 特别是 Gas 最近我了解了对齐指令 我想我已经了解了最基本的知识 但我想更深入地了解其本质以及何时使用对齐 例如 我想知道一个简单的 C switch 语句的汇编代码 我知道在某些情况下switch语句是基于跳
  • 如何使用 Node.js 中的 WebSocket (websockets/ws) 库获取客户端 IP 地址?

    我在客户端对象上找不到客户端 IP 参数 经过一番尝试找出客户端 网络浏览器 IP 地址是哪一个提供的 答案是 ws socket remoteAddress 或者如果您有权访问req via wss on connection ws re
  • 无法登录 Openshift

    我已经尝试通过 Openshift 连接到我的应用程序好几天了 但仍然没有成功 我现在不确定该去哪个论坛 因为我没有在任何地方获得帮助 1 我将通过终端并运行sudo rhc setup 我之所以使用sudo是因为没有它就无法进行下一步 2
  • 使用 git diff,如何获取添加和修改的行号?

    假设我有一个文本文件 alex bob matrix will be removed git repo 我已将其更新为 alex new line here another new line bob matrix git 在这里 我添加了行
  • wget ssl 警报握手失败

    我尝试从 https 站点下载文件并不断收到以下错误 OpenSSL error 14077410 SSL routines SSL23 GET SERVER HELLO sslv3 alert handshake failure Unab
  • 列出AWS S3存储桶中的所有对象

    我试图弄清楚如何在 Swift 中列出 AWS S3 存储桶中的所有对象 我似乎无法在互联网上的任何地方找到信息 但也许我看起来不够努力 如果有人可以向我推荐允许我执行此操作的代码 那就太好了 不知道你是否还需要它 但你可以 let cre
  • 如何在delphi 7中将unicode字符转换为ascii代码?

    是的 我们正在谈论 ASCII 代码 抱歉 我不是这里的 Delphi 开发人员 对于 Delphi 7 我会得到Mike Lischke 的免费 Unicode 库 http www soft gems net index php lib
  • 像#include 这样的预处理器指令只能放在程序代码的顶部吗?

    我已经用过 pragma函数内的指令没有错误或警告 特别是 pragma pack 但是下面的代码显示了警告incompatible implicit declaration of built in function printf int
  • 四人帮 - 设计模式 - 这些模式示例是否以过时的方式编码?

    所以为了澄清我的问题 臭名昭著的 GoF 书中的每个模式 设计模式 可重用的面向对象软件的元素 有 C 代码示例 这些是最新的吗 或者现在的 C 代码看起来有很大不同吗 我这么问是因为当我发布带有最后一个问题的代码时 许多 C 开发人员告诉
  • 九补丁与矢量图形

    我正在学习 Android UI 但不清楚为什么人们在可以使用矢量图形的情况下使用九个补丁 因为它们是可扩展的 不会出现任何像素退化 我是 Android 的初学者 所以我希望我在这里不会遗漏任何东西 但似乎构建矢量图形并使用它们会更容易
  • 为什么部分应用函数会延迟 Scala 中的类实例化?

    想象一下这段代码 class Foo println in Foo def foo a Int a 1 现在 如果我们调用 new Foo foo 将按预期创建 Foo 类的实例 in Foo res0 Int gt Int
  • Reactjs 地图函数不渲染组件

    这是错误 https i stack imgur com zmiR6 png我正在尝试渲染 createCardHotels 函数 但是 每当我运行它时 什么也没有显示 任何帮助将不胜感激 我使用地图函数来循环数据 每当我运行它时 我都可以
  • Android Studio找不到颜色样式资源

    我正在尝试使用自定义主题 AppCompat NoActionBar但是IDE throws无法找到指定资源的错误 请协助 任何帮助将不胜感激 styles xml如下
  • 网格对于 kernelUD /getverticeshr/adehabitatHR 家庭范围估计来说太小

    adehabitat HR 的文档建议使用以下代码来在创建 UD 对象后计算家庭范围的 95 内核 Calculation of the 95 percent home range ver lt getverticeshr ud 95 对于