安装R包
(直接在RStudio安装GD包)
install.packages("GD")
加载数据
library(GD) #加载GD包
setwd("X:\\work\\GD") #设置工作路径
data1<-read.csv("data_raw.csv") #读取数据(未经离散化处理的原始数据)
head(data1) #可以查看数据
离散化方法
GD包中提供了六种离散化方法:
- equal(等距离间隔法)
- natural(自然断点分类法)
- quantile(分位数法)
- geometric(几何间隔法)
- sd(标准差法)
- manual(手动间隔法)
离散化优化
通过GD包中提供的optidisc()函数,可以自动计算最优的方法及分类
discmethod<-c("equal","natural","quantile","geometric","sd") #选择离散化方法
discitv<-c(3:8) #定义间隔点个数为3~8个(间隔数量至少定义为3,不然会报错'非数值的矩阵范围')
odc1<-optidisc(y~x1+x2,data=data1,discmethod,discitv) #设置变量,~前为因变量,后为自变量
odc1 #输出结果
plot(odc1) #可视化结果
结果表明,以自变量'人口密度'为例,采用几何间隔方法分为7类为最优:
optimal discretization result of pop_den
method : geometric
number of intervals: 7
intervals:0 6.120119 49.69609 359.9622 2569.094 18298.37 130292.7
numbers of data within intervals:15 3 17 139 508 446
可视化结果: