You are on page 1of 5

第六章关联分析作业

160802 班 施金状 20162195


程序代码:
setwd("D:/practice")
datafile=read.csv("data.csv")
View(datafile)
class(datafile)
dim(datafile)
names(datafile)
nrow(datafile)
ncol(datafile)
str(datafile)
summary(datafile)
#将进行参数初始化
type <- 4 # 数据离散化的分组个数
index <- 8 # TNM 分期数据所在列
typelabel <- c("A", "B", "C", "D", "E", "F") # 数据离散化后的标识前缀
set.seed(1234) # 固定随机化种子
cols <- ncol(datafile[, 1:6]) # 取六种证型列数
rows <- nrow(datafile[, 1:6]) # 行数
disdata <- matrix(NA, rows, cols + 1) # 初始化
View(disdata)
# 聚类离散化
for (i in 1:6) {
cl <- kmeans(datafile[, i], type, nstart = 20) # 对单个属性列进行聚类
disdata[,i] <- paste(typelabel[i], cl$cluster) }
View(disdata)
# 查看离散化后的数据 disdata
# 将 datafile 的第 index 类,付给 disdata 的第 cols+1 列; 查看之后的 disdata 的第
cols+1 列的值,及变量类型
disdata[,cols+1]<-datafile[,index]
View(disdata)
# 将 disdata 第 cols+1 列 的 值 , 前 面 加 上 H ; 例 如 disdata[1, cols+1]=4, 变 为
disdata[1, cols+1]= H 4
disdata[,cols+1]<-paste("H",disdata[,cols+1],seq="")

# 导出数据
colnames(disdata)=c("肝气郁结证型系数", "热毒蕴结证型系数","冲任失调证型系
数", "气血两虚证型系数", "脾胃虚弱证型系数", "肝肾阴虚证型系数", "TNM 分
期")
View(disdata)
# 将数据写到磁盘上,名字为 processedfile.csv
write.csv(disdata,file="D:/processedfile.csv",quote=F,row.names = F)
# 读入数据 processedfile.csv,付给变量 a
a <- read.csv("D:/processedfile.csv",header = T)
# 查看 a
View(a)
# 将 a 转化为事务型类型的数据,即 transactions 格式
library(arules)
trans= as(a, "transactions")
View(trans)
str(trans)
# 观测 trans 数据集中前 5 行数据 items
inspect(trans[1:5])
# 调用 Apriori 算法,生成关联规则 rules
rules=apriori(trans,parameter=list(support=0.001,confidence=0.5))
# 显示 rules 中关联规则条数
rules
# 观测 rules 中关联规则
inspect(rules)
inspect(rules[1:6])
一、 查看数据,说明数据基本情况
# 聚类离散化
# 查看离散化后的数据 disdata
将 datafile 中的第 index 类,赋给 disdata 的第 cols+1 列,查看之后的 disdata 的第
cols+1 的值将 disdata 第 cols+1 列的值前面加上 H

# 导出数据

# 将 a 转化为事务型类型的数据

# 观测 trans 数据集中前 5 行数据 items


# 调用 Apriori 算法,生成关联规则 rules
rules=apriori(trans,parameter=list(support=0.001,confidence=0.5))
# 显示 rules 中关联规则条数
rules

# 观测 rules 中关联规则
inspect(rules)
inspect(rules[1:6])

You might also like