上一篇gdm包实现了整个地理探测器的分析过程,但整个包直接计算不同的数据会产生很多问题。在这个阶段,我只需要检测因素,所以我单独拿出因素来检测脚本和代码!
install.packages("readxl") library(readxl) # 读取excel文件 beibuwan <- read_excel("F:/beibuwan.xlsx") # 查看前三行数据 head(beibuwan)[1:3,] # 数据转化 beibuwan$X1=as.numeric(beibuwan$X1) beibuwan$X2=as.numeric(beibuwan$X2) beibuwan$X3=as.numeric(beibuwan$X3) beibuwan$X4=as.numeric(beibuwan$X4) beibuwan$X5=as.numeric(beibuwan$X5) beibuwan$X6=as.numeric(beibuwan$X6) beibuwan$X7=as.numeric(beibuwan$X7) beibuwan$X8=as.numeric(beibuwan$X8) beibuwan$X9=as.numeric(beibuwan$X9) beibuwan$X10=as.numeric(beibuwan$X10) beibuwan$X11=as.numeric(beibuwan$X11) beibuwan$X12=as.numeric(beibuwan$X12) beibuwan$X13=as.numeric(beibuwan$X13) beibuwan$X14=as.numeric(beibuwan$X14) beibuwan$X15=as.numeric(beibuwan$X15) beibuwan$X16=as.numeric(beibuwan$X16) # 下载并导入GD包 # install.packages("GD") library(GD) # 数据离散法 discmethod <- c("equal","natural","quantile","geometric") # 间断点范围 discitv <- c(3:8) data.bebuwan<-beibuwan data.continuous<-data.bebuwan[,c(1,2:16)] data.continuous[,-1] odc1<-optidisc(Y~X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15,data =as.data.frame(data.continuous),discmethod = discmethod,discitv = discitv) View(odc1) data.continuous<-do.call(cbind,lapply(1:15,function(x)data.frame(cut(as.numeric(unlist(data.continuous[,-1][,x])),unique(odc1[[x]]$itv),include.lowest = TRUE)))) View(data.continuous) data.bebuwan[,2:16]<-data.continuous data.bebuwan g11<-gd(Y~.,data = as.data.frame(data.bebuwan[-17:-18]) g11
我的数据共18列,第17、18不是应用分析部分,所以除了这两列,结果如下
