数据分享|R语言生态学种群空间点格局分析:聚类泊松点过程对植物、蚂蚁巢穴分布数据可视化...

news2025/4/7 23:58:36

全文链接 :https://tecdat.cn/?p=33676

点模式分析(点格局分析)是一组用于分析空间点数据的技术。在生态学中,这种类型的分析可能在客户的几个情境下出现,但对数据生成方式做出了特定的假设,因此让我们首先看看哪些生态数据可能与点模式分析相关或不相关点击文末“阅读原文”获取完整代码数据)。

相关视频

哪些数据适用于点模式分析?

点模式分析的最重要假设是点的数量和位置都需要是随机的。此外,我们需要知道客户的采样区域(即所谓的窗口)。以下是适用于点模式分析的示例:

  • 森林样地中树木的位置

  • 草地区域中蚂蚁巢穴的分布

以下是不适合进行点模式分析的示例:

  • 在较大的样地中事先定义好的子样方形成的规则网格中的群落组成

  • 记录了给定区域内固定数量的鸟巢的位置

以下示例可能适用于点模式分析,也可能不适用:

  • 动物移动的无线电跟踪数据(请参阅针对此特定类型数据的众多技术)

  • 每年记录森林样地中树木位置,形成复制的点模式

在 R 中进行点模式分析

我将使用一个数据集来展示分析。该数据集包含沿海沙丘系统中植物和蚂蚁巢穴的位置查看文末了解数据免费获取方式

从现有数据创建点模式

#加载数据集
dat <- read.table("daf.csv",sep=";",head=TRUE)
#将坐标转换为米
dat$X <- dat$X/100
dat$Y <- dat$Y/100

#创建点模式
(all_pp <- ppp(

3da8fb97a9498e013c19e68a3c355839.png

plot(

11d3ba68fb37294b961c16927bb3c800.png

对点模式对象进行数据操作

#一个首次操作是给每个点添加信息,即所谓的标记
#在这个示例中,我们可以添加植物的物种名称
marks(all_pp) <-

#第二个操作可以是删除任何重复点
#我们可以使用简单的行索引来做到这一点
all_pp <- unique

#然后添加坐标单位
summary(all_pp)

1285db628c6bd73a1bcf2d6b2dc95b73.png

#我们可以使用标记对点模式进行子集化
ant_pp <- subset(all_pp,marks=="Tetramorium_caespitum")
#在这种情况下,我们不再需要标记
ant_pp <- unmark(ant_pp)

标记的概念非常重要,所以我会多花几句话来介绍。标记可以是与点模式长度相同的数字或因子向量,它们是为每个点收集的额外信息。在本示例中,这是记录的植物和蚂蚁的物种名称,但也可以是树木高度或鸟巢中的蛋数。

基于窗口的第二个有趣的操作集是根据特定窗口对点模式进行子集化:

w <- hexon(entre=c(5,5))
plot(antp[w])

b9572a957cb70cc8c1b2dd2cc8dff180.png

#基于物种名称拆分
split_pp <- si(all_pp)
class(spitpp)
## [1] "splitppp" "ppplist"  "solist"   "list"
as.matrix(lapplysplit_p,npis),ncol=1)

22546b0e9c0564c66786e8a1d10ed894.png

#也可以使用:by(all_p,maksall_p,npoints)来拆分

#基于窗口进行拆分
spl_ant_pp <- splitn_p,f=w)
summary(plt_at_pp)

1f83ea0f3bc59f8d64ed2b9a25fb9143.png

d637d982d0aca1bae2bdb0c45e1274c3.png

点格局的探索性分析

这是任何点格局分析中非常重要的一步,这一步可以帮助你:(i) 探索密度,以及 (ii) 观察点格局是否偏离随机期望。

den_all <- desit(slit_pp)
plot(dns_ll)

432c9127cf947bb4591bb42980cf1515.png

首先要找出点格局是否由一个强度函数生成,如果是,则点格局是均匀的;如果点格局是由多个强度函数生成的,则点格局是不均匀的。这是点格局分析中的一个重要的第一步,因为大多数函数和模型默认假设点格局是均匀的。我将展示两种推断点格局均匀性的方法:(i) 模拟和 (ii) 方块计数。


点击标题查阅往期内容

2b45058ab909779775833006c0db2ab0.jpeg

生态学建模:增强回归树(BRT)预测短鳍鳗生存分布和影响因素

outside_default.png

左右滑动查看更多

outside_default.png

01

outside_default.png

02

outside_default.png

03

outside_default.png

04

outside_default.png

第一种方法是根据观察到的点格局的平均强度,在空间上完全随机模拟点格局。如果观察到的点格局和模拟的点格局的密度估计相似,那么我们就有证据表明点格局是均匀的。

#将观察到的密度与基于强度的随机模拟进行比较

#在图中为观测数据选择一个随机位置
pos <- sale(1:16,1)
#模拟15个CSR点
simp <- roisp(lmbda= intesityant_pp,win  Windw(nt_p),nm=15)
#将模拟集合中的第pos个位置替换为观察数据集
tmp <- sp[pos]]
sim[pos]] <- ant_pp
sip16]] <- tmp
naes(imp)[16] <- "Siulio 16"
#计算密度估计
densp <- dsiymp)
#绘图,你能分辨出哪一个是观测数据集吗?
pr(mfow=c(,4)mar=c(0,0,4,4))
plt(as.isto(densp),zlim=rage(unlst(lapl(despran))))

outside_default.png

如果你能在模拟数据中找到真实数据集,那么就证据表明一种不均匀的过程生成了数据。在这种情况下,你需要使用特殊的函数。第二种方法是将窗口划分成方块,并统计每个方块中的点的数量。通过卡方检验,我们可以推断点格局是均匀的(p > 0.05)还是不均匀的(p < 0.05)。

quar.tst(ant_pp)

outside_default.png

输出结果告诉我们,点模式的零假设是完全随机生成的空间过程,被拒绝了。我们有一些证据表明,点模式是不均匀或非平稳的。如果点模式遵循完全随机性(CSR),则这个计数值(K)和考虑的距离(r)之间存在已知的关系。在R中,对蚂蚁巢穴点模式执行这个操作的代码是:

ee_iso <- eneope(antpun=Kst, nar=liscrectio="rder"), gloal=TRUE

outside_default.png

plot(eeso)

outside_default.png

在这里,我围绕模拟的随机点过程的期望(Ktheo(r))从中推导出一个包络。然而,正如我们之前所看到的,我们有一些证据表明蚂蚁巢穴的点模式是不均匀的,因此我们应该通过使用Ripley的K函数的修改版本来考虑这一点:

eeihm < elop(ant_pp, fun=Khom,glba=TUE)

outside_default.png

plot(ee_iom)

outside_default.png

这次观察到的曲线在较大距离上低于预期曲线,说明巢穴中的分散程度超过了考虑点模式非均匀性时的预期CSR。

从这个探索性分析中我们得出以下结论:

  • 蚂蚁巢穴显示出不均匀性模式

  • 有一些证据表明在较大距离上,蚂蚁巢穴的间距比从估计的强度函数中预期的要大。

现在我们可以进入下一步,对我们的点模式进行建模。

构建点模式模型

在我们的蚂蚁巢穴数据示例中,我们可能对巢穴密度是否取决于特定植物物种的密度感兴趣。

#拟合一个仅包含截距的泊松点过程模型
m0 <- ppm(tp ~ 1)
m0

outside_default.png 这是最简单的拟合模型,该模型基本上告诉我们强度(蚁巢的密度)在观察区域内始终为e^(-0.36)=0.70。现在我们可以使用坐标作为预测变量来建立一个模型:

m1 <- ppm(tpp~ plnm(x,y,2))
m1

outside_default.png

plt(m,se=FS,ho="iae")

outside_default.png

该模型拟合了以下关系:log(λ)=x+y+x^2+y^2+x:y,基本上是每个坐标轴的二次关系加上一个交互项。图示了模型预测的强度(λ)与观察到的蚁巢的关系。这个模型在一些区域拟合效果较差。对于每个模型,重要的下一步是模型验证,可以绘制许多重要的模型诊断图:

diospm(m1whih = "ooh")

outside_default.png

outside_default.png

默认情况下,生成四个图,我只请求绘制平滑残差图,以便我们可以确定模型在观察到的点格局上拟合得不好的区域。该模型在某些区域的拟合效果较差。也可以使用拟合强度在Kinhom函数中查看观察到的点格局是否比模型拟合预期的更或更少聚集:

e <- envepe(an_ppKinom,unargs  list(lda=1),obl=TUE)

outside_default.png

plt(em)

outside_default.png

在这里,我们可以看到观察到的点格局比模型预期更加聚集。一种解决方法是使用聚类泊松点过程模型:

m2 <- kp(ntp ~ lyo(x,,2))
plotm,wht="satistc",pase=ASE)

outside_default.png

虚线绿线显示了基于模型中的预测变量的预期K值,实线黑线将拟合的聚类过程添加到预测变量中(在这种情况下是一个Thomas过程。从配适模型中模拟点格局也很容易,我们将在这里使用它来查看观察到的点格局和模拟的点格局之间是否存在明显差异:

#一个随机位置
pos <- sample(1,1:16)
#从该模型中模拟15个点格局
sims <- (2,nim = 15)

outside_default.png

#将观察到的点格局放在随机位置
mp < sims[[pos]]
sims[s<- tmulation 16"
#计算密度估计
den <- nsity(sims)
#绘图,你能分辨出哪一个是观察到的数据集吗?
par(row=c(4,),mar=c(0,0,4,4))
plot(aslistf(dnsp)zliangunlis(lpply(nsange))))

outside_default.png

我无法真正辨认出观察到的格局,因此该模型相当好。

点格局的预测变量也可以是像素图像(或"im")对象,我们将使用一个植物物种Senecio_inaequidens的密度作为预测变量:

m3 <- kpm(an_p ~ Seco_jcobaa,dta=desall)
#让我们来看一下预期的K值
plt(m3,wat="aisti",pus=FALSE)

这个模型显然比之前的模型好。可以使用effectfun函数绘制协变量的效果,例如:

#查看Senecio jacobaea的效应
plot(effetfun(m3Seecio_jacaea"))

outside_default.png

这个模型显然比之前的模型好。可以使用effectfun函数绘制协变量的效果,例如:

#查看Senecio jacobaea的效应
plot(efcfun(m3"Seeciojacobea"))

outside_default.png

可以绘制更酷炫的地图:

#绘制一个有趣的透视图
pp <- predctm3)
M<-persp(s_al$,lin=pox=FALSE,visble=TREapron = TRUE,et55,ph=,exnd=6,mi=" density")
perspPins(ant_pp,Zdn_lSeneco_cobaea,M=M,pc=20)

outside_default.png

图中的高度表示Senecio jacobaea苗的密度,颜色表示蚁巢的拟合强度,点表示实际观察到的蚁巢。

数据获取

在公众号后台回复“蚂蚁”,可免费获取完整数据。

outside_default.png

本文中分析的数据分享到会员群,扫描下面二维码即可加群!

outside_default.png


outside_default.png

点击文末“阅读原文”

获取全文完整代码数据资料。

本文选自《R语言生态学种群空间点格局分析:聚类泊松点过程对植物、蚂蚁巢穴分布数据可视化》。

outside_default.png

outside_default.png

点击标题查阅往期内容

Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户

R语言逻辑回归(Logistic Regression)、回归决策树、随机森林信用卡违约分析信贷数据集

R语言基于Bagging分类的逻辑回归(Logistic Regression)、决策树、森林分析心脏病患者

R语言样条曲线、决策树、Adaboost、梯度提升(GBM)算法进行回归、分类和动态可视化

R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化

matlab使用分位数随机森林(QRF)回归树检测异常值

R语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测

R语言中使用线性模型、回归决策树自动组合特征因子水平

R语言中自编基尼系数的CART回归决策树的实现

Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析

R语言基于树的方法:决策树,随机森林,Bagging,增强树

R语言实现偏最小二乘回归法 partial least squares (PLS)回归

R语言多项式回归拟合非线性关系

R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险

R语言用局部加权回归(Lowess)对logistic逻辑回归诊断和残差分析

R语言混合效应逻辑回归(mixed effects logistic)模型分析肺癌数据

outside_default.png

outside_default.png

outside_default.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1022137.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

中秋国庆假期——模板推荐

要说最近能让人开心的事情是什么?大概就是下周将迎来8天假&#xff0c;小编帮大家数了数还有11天&#xff0c;就要放中秋国庆的假期了。作为一个资深打工人&#xff0c;本周的日常即将变成&#xff1a;上班想放假、下班想放假、想放假… 但是宝子们要注意&#xff0c;大家在盼…

JDK8升级JDK11最全实践干货来了 | 京东云技术团队

1、前言 截至目前&#xff08;2023年&#xff09;&#xff0c;Java8发布至今已有9年&#xff0c;2018年9月25日&#xff0c;Oracle发布了Java11&#xff0c;这是Java8之后的首个LTS版本。那么从JDK8到JDK11&#xff0c;到底带来了哪些特性呢&#xff1f;值得我们升级吗&#x…

js中哪些地方会用到window?

前言 Window 对象是JavaScript中的顶层对象&#xff0c;它代表了浏览器中打开的窗口或者标签页。浏览器中打开的每一个窗口/标签页都会有一个对应的 Window 对象。在浏览器中&#xff0c;全局作用域的 this 就是指向 Window 对象。 正文 在 JavaScript 中&#xff0c;window 对…

《Python趣味工具》——自制emoji3

今日目标 在上次&#xff0c;我们绘制了静态的emoji图。并且总结了turtle中的常用函数。 本次我们将尝试制作一个动态的emoji&#xff0c;让你的表情包动起来&#xff01; 文章目录 一、动画原理&#xff1a;二、制作动画&#xff1a;1. 修改eyes_black()函数&#xff1a;2. 绘…

构建可维护的大规模应用:框架架构的最佳实践

文章目录 框架架构的重要性最佳实践1. 模块化设计2. 遵循SOLID原则3. 使用设计模式4. 异常处理5. 代码注释和文档6. 测试 Spring Boot 和 Django&#xff1a;关键框架示例Spring Boot&#xff08;Java&#xff09;模块化设计&#xff1a;SOLID原则&#xff1a;设计模式&#xf…

分类散点图 stripplot() 加辅助线axhline() 多图合一

分类散点图 stripplot 加辅助线axhline 多图合一 效果图代码 画图没有什么可说的&#xff0c;直接上图 效果图 代码 # 绘制图&#xff0c; 查看是否数值在阈值上 plt.figure(figsize(30, 18)) n 0 for header, value_list in info_dict.items():ref_value_list ref_info_dic…

three.js——通过顶点和顶点索引创建集合体

通过顶点和顶点索引创建集合体 效果图1、创建顶点数据2、创建顶点属性3、创建材质4、创建网格5、改变网格的位置并添加到场景中6、通过顶点索引创建几何图形 效果图 1、创建顶点数据 // 创建顶点数据 每三个一个顶点 逆时针为正面 const vertices new Float32Array([ -1.0, -…

uTool快捷指令

send("************"); quickcommand.sleep(200); keyTap("enter");

关于微信小程序rich-text中图片宽度超出范围解决办法

问题描述&#xff1a;写一个富文本展示页面时发现一个问题&#xff0c;就是图片宽度超出范围&#xff0c;本能反应是给图片设置一个最大宽度&#xff0c;这里发现不可行。然后又使用正则追加样式还是不行。 // 使用正则提取html里面的图片设置图片最大宽度为100% res[1].data[0…

netty-HashedWheelTimer源码解析

一、案例分析 public void testExecutionOnTaskExecutor() throws InterruptedException {int timeout 10;final CountDownLatch latch new CountDownLatch(1);final CountDownLatch timeoutLatch new CountDownLatch(1);Executor executor new Executor() {Overridepublic…

用纯html写个个人简历!模版分享啦!!!

用纯html写个个人简历&#xff01;首先得先找个模板&#xff01; 一个优秀模板所应该具有的素质&#xff1f; 简单&#xff1f; 仅仅一个html页面&#xff0c;完全没有乱七八糟&#xff0c;保证学的明明白白。 漂亮&#xff1f; 该有的内容一个不少&#xff01; 个人照片&a…

零基础Linux_6(开发工具_下)函数库链接+Makefile+实现进度条+Git

目录 1. 函数库&#xff08;链接&#xff09; 1.1 链接 1.2 动态库与静态库 2. makefile 2.1 项目构建 2.2 Makefile的概念 2.3 Makefile的编写 2.4 .PHONY定义伪目标 ACM 时间 3.实现进度条&#xff08;缓冲区&#xff09; 3.1 缓冲区的概念 3.2 实现一个简易 &q…

全网最详细的OSPF原理总结,看这篇就够了!

大家好&#xff0c;我的网工朋友。 OSPF是一种基于链路状态的路由协议&#xff0c;也是专为 IP 开发的路由协议&#xff0c;直接运行在 IP 层上面。它从设计上保证了无路由环路。除此之外&#xff0c;IS-IS也是很常见的链路状态协议。 为什么会出现OSPF&#xff1f; 作为目前…

欧拉操作系统在线安装mysql8数据库并用navicat premium远程连接

网上太多安装教程&#xff0c;但是没有一个教程能够一站式解决安装问题&#xff0c;而我不一样&#xff0c;我写的每一个博客&#xff0c;都是我自己试验过很多次&#xff0c;能够确保一站式解决&#xff0c;才会发上去&#xff0c;希望能够帮助到大家 第一步&#xff1a;升级…

Linux工具(一)

前言&#xff1a;Linux是一个开源的操作系统&#xff0c;它拥有庞大而活跃的开发社区&#xff0c;为用户提供了丰富多样的工具和应用程序。这些工具不仅适用于系统管理员和开发人员&#xff0c;也适用于普通用户&#xff0c;可以帮助他们完成各种任务&#xff0c;从简单的文件管…

爬虫 — Scrapy 框架安装问题

整理几个关于安装 Scrapy 框架时会遇到的问题及解决方法。 1、 pip install typing-extensions4.3.0 -i https://pypi.douban.com/simple 2、 pip install pyOpenSSL22.0 -i https://pypi.douban.com/simple 3、 pip install cryptography36.0.2 -i https://pypi.douban.com/s…

基于GBDT+Tkinter+穷举法按排队时间预测最优路径的智能导航推荐系统——机器学习算法应用(含Python工程源码)+数据集(四)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python环境Pycharm 环境Scikit-learnt 模块实现1. 数据预处理2. 客流预测3. 百度地图API调用4. GUI界面设计5. 路径规划6. 智能推荐 系统测试1. 训练准确率2. 测试效果3. 程序应用 相关其它博客工程源代码下载其它资料下载 …

如何在云服务器上成功安装MongoDB数据库并用Python连接(问题及解决方法)

最近购买了1台腾讯云轻量服务器做测试&#xff0c;想在上面安装MongoDB数据库。但安装过程并不顺利&#xff0c;遇到了几个问题。本文记录一下安装过程及遇到的问题和解决方法。 一、软件下载地址&#xff1a; 1.直接打开MongoDB官网&#xff1a;https://www.mongodb.com/ …

2023 Google 开发者大会:助力传承和弘扬传统文化

文章目录 前言一、关于 Google 开发者大会1.1、什么是 Google 开发者大会&#xff1f;1.2、CSDN 上线 2023 Google 开发者大会专题页 二、敦煌深厚的艺术沉淀2.1、“云想衣裳花想容”&#xff1f;2.2、“大漠孤烟直&#xff0c;长河落日圆” 三、传统文化赋予现代艺术设计灵感四…

1.IAR-8051安装

新版安装教程&#xff1a;IAR EW for 8051 简介与安装 新版软件zhuce&#xff1a;IAR EW for 8051 软件注册 - 知乎 这个新版的我也放到网盘里面了&#xff0c;自己自行选择安装 一、下载IAR-8051 链接&#xff1a;https://pan.baidu.com/s/1mYwSQvSjAiSzltrEbK3yAw?pwd43cd …