当前位置:首页 > 后端开发 > 正文内容

根据R言语的GD库完成地舆探测器并主动将连续变量转为类别变量

邻居的猫1个月前 (12-09)后端开发457

  本文介绍根据R言语中的GD包,根据栅格印象数据,完成自变量最优离散化办法选取与履行,并进行地舆探测器Geodetector)操作的办法。

  首要,在R言语中进行地舆探测器操作,可经过geodetector包、GD包等2个包完成。其间,geodetector包是地舆探测器模型的原作者团队开发的,其需求确保输入的自变量数据现已悉数为类别数据;其详细操作办法咱们能够参阅地舆探测器R言语完成:geodetector。而GD包则是另一位学者开发的,其可主动完成自变量数据最优离散化办法选取与履行;本文介绍的便是根据GD包完成地舆探测器的详细操作。此外,假如期望根据Excel完成地舆探测器,咱们能够参阅地舆探测器Geodetector下载、运用、成果剖析办法。

1 包的装置与导入

  首要,咱们能够先到GD包在R言语中的官方网站,大致了解一下该包的扼要介绍、开发团队等基本信息。

  随后,咱们开端GD包的下载与装置。输入如下所示的代码,即可开端包的下载与装置进程。

install.packages("GD")

  输入代码后,按下回车键,运转代码;如下图所示。在装置GD包时,会主动将其所需依靠的其他包(假如在此之前没有装备过)都一起装备好,十分便利。

image

  接下来,输入如下的代码,将GD包导入。

library("GD")

  输入代码后,按下回车键,运转代码;如下图所示。

2 数据读取与预处理

  接下来,咱们需求读取栅格图画数据,并将其转为GD包能够辨认的数据框Data Frames)格局。

  其间,读取栅格数据的办法,咱们参阅根据R言语的raster包读取遥感印象即可;关于数据格局的转化,咱们参阅地舆探测器R言语完成:geodetector即可。这一部分的内容本文就不再赘述。

3 地舆探测器履行

  接下来,咱们就能够开端地舆探测器的详细剖析;强烈建议咱们根据GD包中的gdm()函数,完成一步到位的地舆探测器剖析操作。

  首要,假如咱们输入数据中的自变量数据具有连续变量,需求将其转化为类别变量gdm()函数能够完成连续变量离散化办法寻优主动履行。其间,咱们能够挑选的离散化办法包括持平间隔法天然连续点法分位数分类法几许间隔法标准差法5种不同的办法,别离对应以下榜首句代码中的"equal""natural""quantile""geometric""sd"5个选项。此外,咱们还能够根据数据的特征,对自变量离散化的类别数量加以限制,详细代码如下所示。

discmethod <- c("equal", "natural", "quantile", "geometric", "sd")
discitv <- c(4:10)

  其间,上述榜首句代码表明,咱们后续将从持平间隔法天然连续点法分位数分类法几许间隔法标准差法5种不同的办法中,找到每一个连续变量对应的最优离散化办法;第二句代码则表明,在后续寻觅最优离散化办法的一起,还需求对每一个变量的分类数量加以寻优——c(4:10)就表明咱们别离将每一个连续变量分为4类、5类、6类,以此类推,一直到10类,从其间找到最优成果对应的类别数量

  接下来,咱们即可调用gdm()函数,履行地舆探测器剖析的详细操作;其间,my_gd为保存地舆探测器成果的变量;函数的榜首个参数,表明因变量与自变量的联系,~前的变量即为因变量~后的变量即为自变量,多个自变量之间经过+相连接;第二个参数表明自变量中的连续变量,程序将主动对这些连续变量加以离散化办法寻优与履行;第三个参数表明存储自变量与因变量数据的数据框Data Frames)格局的变量;最终两个变量,即为前面咱们挑选的离散化办法类别数量

my_gd <- gdm(A_LCCS0 ~ C_SlopeS0 + D_AspectS0 + DEM_Reclass + F_LCS0,
                        continuous_variable = c("C_SlopeS0", "D_AspectS0"),
                        data = tif_frame,
                        discmethod = discmethod,
                        discitv = discitv)

  这儿需求留意,假如咱们不是经过脚本运转的R言语,而是每次写一句代码然后按下回车键运转一下,那么上述代码中的换行就需求经过一起按下Shift键与回车键完成。输入上述代码后,如下图所示。

  随后,即可运转代码。稍等片刻(详细时长与数据量有关),即可得到地舆探测器的成果my_gd。这一变量的详细结构、内容如下图所示。

  咱们能够输入如下的代码,将变量my_gd打印出来。

my_gd

  所得成果如下图所示。

  能够看到,my_gd变量包括了每一个连续变量在离散化后,对应的最优离散化办法类别数量,以及地舆探测器的各个剖析成果。详细成果的意义与研读办法,咱们参阅地舆探测器Geodetector下载、运用、成果剖析办法,以及地舆探测器R言语完成:geodetector这两篇文章即可,这儿就不再赘述。

  此外,咱们能够经过如下的代码,将上述成果加以可视化。

plot(my_gd)

  运转上述代码,成果如下图所示。

  此刻,在RStudio软件的右下方“Plots”中,即可看到可视化成果,如下图所示。其间,咱们能够经过下图中赤色方框内的箭头,完成不同图片的切换显现。

  上述成果包括7张图画,其别离与上上图中的7项输出内容对应——榜首张图是最优离散化办法的选取进程,第二张图则是所选出的最优离散化办法对应的分类状况;后5张图便是地舆探测器的剖析成果图,即上上图中最终5plot别离对应的成果。

  至此,咱们就完成了根据R言语中的GD包,根据多张栅格图画数据,完成类别变量的主动离散化,并进行地舆探测器Geodetector)操作的完好流程。

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=227

分享给朋友:

“根据R言语的GD库完成地舆探测器并主动将连续变量转为类别变量” 的相关文章

c语言强制转换类型, 什么是强制类型转换

在C语言中,强制类型转换是一种将一个表达式的值从一种类型转换为另一种类型的方法。这通常是通过在目标类型名称前加上括号来完成的。强制类型转换的语法如下:```c表达式;```其中,“目标类型”是你希望将表达式转换为的类型,“表达式”是你希望转换的值。这里有一些强制类型转换的例子:1. 将一个整数转换为...

java和python,编程语言的选择与未来展望

1. 用途: Java:通常用于企业级应用、Android 应用开发、大型系统开发等。 Python:广泛用于数据分析、机器学习、Web 开发、自动化脚本等。2. 语法: Java:语法相对严格,需要明确声明变量类型,并且使用分号作为语句的结束符。 Python:语法简洁明了...

swift编程,入门指南与最佳实践

1. 变量和常量:在 Swift 中,变量和常量都需要明确声明其类型。变量使用 `var` 关键字声明,常量使用 `let` 关键字声明。2. 数据类型:Swift 支持多种数据类型,包括整型(Int)、浮点型(Float、Double)、布尔型(Bool)、字符串(String)等。3. 控制流:...

go翻译成中文,从基础到实践

Go 是一种编程语言,中文译名为“Go语言”或“戈语言”。Go语言由Google开发,旨在提高编程效率和软件的可维护性。它是一种静态类型、编译型语言,具有简洁、高效、并发性强的特点。Go语言入门指南:从基础到实践Go语言,也被称为Golang,是由Google开发的一种静态类型、编译型、并发型编程语...

go ping,Go语言简介

在Go语言中,实现ping功能有多种方法,包括使用第三方库和手动实现。以下是几种常见的方法: 使用第三方库1. goping库: 简介:goping是一个简洁但功能强大的ICMP回显(ping)库,可以发送和接收ICMP数据包。 安装:使用`go get u github.com/gop...

delphi为什么没人用了,Delphi为何逐渐淡出开发者视野?

Delphi 是一种编程语言和集成开发环境(IDE),由 Borland(现在的 Embarcadero Technologies)开发,主要面向 Windows 平台。它在 1990 年代和 2000 年代初期非常流行,尤其是在桌面应用开发领域。随着时间的推移,Delphi 的使用逐渐减少,原因可...