根据R言语的GD库完成地舆探测器并主动将连续变量转为类别变量
本文介绍根据R言语中的GD
包,根据栅格印象数据,完成自变量最优离散化办法选取与履行,并进行地舆探测器(Geodetector)操作的办法。
首要,在R言语中进行地舆探测器操作,可经过geodetector
包、GD
包等2
个包完成。其间,geodetector
包是地舆探测器模型的原作者团队开发的,其需求确保输入的自变量数据现已悉数为类别数据;其详细操作办法咱们能够参阅地舆探测器R言语完成:geodetector。而GD
包则是另一位学者开发的,其可主动完成自变量数据的最优离散化办法选取与履行;本文介绍的便是根据GD
包完成地舆探测器的详细操作。此外,假如期望根据Excel完成地舆探测器,咱们能够参阅地舆探测器Geodetector下载、运用、成果剖析办法。
1 包的装置与导入
首要,咱们能够先到GD
包在R言语中的官方网站,大致了解一下该包的扼要介绍、开发团队等基本信息。
随后,咱们开端GD
包的下载与装置。输入如下所示的代码,即可开端包的下载与装置进程。
install.packages("GD")
输入代码后,按下回车
键,运转代码;如下图所示。在装置GD
包时,会主动将其所需依靠的其他包(假如在此之前没有装备过)都一起装备好,十分便利。
接下来,输入如下的代码,将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
张图便是地舆探测器的剖析成果图,即上上图中最终5
个plot
别离对应的成果。
至此,咱们就完成了根据R言语中的GD
包,根据多张栅格图画数据,完成类别变量的主动离散化,并进行地舆探测器(Geodetector)操作的完好流程。