【R语言】关联规则分析-应用于文献综述

关联规则分析-R语言

公式

  • Support 反映了特定变量组合在数据集中出现的频率。例如,如果特定变量 "A "在 30% 的实例中出现,则其支持度为 0.3:

support (Value a) =(number of transactions containing Value a) / (total number of transactions)

  • Confidence 衡量的是当一种情况(结果)出现时,另一种情况(前因)出现的可能性。如果 "A "之后经常出现 "B",那么 "A => B "这一规则的可信度就很高。

confidence (Value a ➞ Value b) =(support (Value a ∪Value b)) / (support (Value a))

  • Lift 通过比较观察到的 "A "和 "B "同时出现的频率与如果它们独立出现的预期频率,来评估关联的强度。提升值大于 1 表示有意义的关联,有正负区别:

Lift(A⇒B)=(Support(A∩B))/(Support(A)×Support(B))

  • Lift > 1:正向关联,前件的出现提升了后件的出现概率。Lift 越大,关联越强。
  • Lift = 1:无关联,前件和后件的出现是独立的,前件的出现并不会改变后件出现的概率。
  • Lift < 1:负向关联,前件的出现降低了后件的出现概率。)

数据准备

NO. col1 col2 ... Effect_Size_Direction

No.在数据包分析中会去除(目前是为了查数据方便才留在数据中的)

col均为数字编码

Effect_Size_Direction为1,0编码(1为正向,0为负向)

实现效果

Rules support confidence lift coverage
前件=>后件 前件后件同时出现的占比 前件成立的情况下后件成立的概率 与A、B为独立事件相比出现的可能性,反映AB的相关性 前件的占比

代码

r 复制代码
# 1. 安装并加载必要的包
#install.packages("readxl")  # 如果未安装,请运行这行
#install.packages("arules")  # 如果未安装,请运行这行
library(readxl)
library(arules)

# 2. 读取 Excel 文件
data <- read_excel("data.xlsx")

# 3. 删除不需要的列,例如 No. 列
data <- data[, -1]  # 删除第一列(ID列)
# 4. 确保所有的分类变量转换为因子
data$colname <- as.factor(data$colname)


### 5. 将 `Effect Size Direction` 作为后件(右侧)
rules_with_direction_as_rhs <- apriori(
  data, 
  parameter = list(support = 0.1, confidence = 0.9),
  appearance = list(rhs = c("Effect_Size_Direction=1", "Effect_Size_Direction=0"), default = "lhs")
)

# 查看生成的规则
inspect(rules_with_direction_as_rhs)

# 根据提升度筛选,只保留提升度大于 1 的规则
strong_rules_with_direction_as_rhs <- subset(rules_with_direction_as_rhs, lift > 1)
inspect(strong_rules_with_direction_as_rhs)

# 导出生成的规则到 CSV 文件
write(rules_with_direction_as_rhs, file = "rules_with_direction_as_rhs.csv", sep = ",", quote = TRUE, row.names = FALSE)

write(strong_rules_with_direction_as_rhs, file = "strong_rules_with_direction_as_rhs.csv", sep = ",", quote = TRUE, row.names = FALSE)
相关推荐
czhc11400756631 天前
LINUX913 shell:set ip [lindex $argv 0],\r,send_user,spawn ssh root@ip “cat “
tcp/ip·r语言·ssh
zhangfeng11331 天前
win7 R 4.4.0和RStudio1.25的版本兼容性以及系统区域设置有关 导致Plots绘图面板被禁用,但是单独页面显示
开发语言·人工智能·r语言·生物信息
zhangfeng11332 天前
在 R 语言里,`$` 只有一个作用 按名字提取“列表型”对象里的单个元素 对象 $ 名字
开发语言·windows·r语言
高-老师2 天前
R语言生物群落(生态)数据统计分析与绘图实践技术应用
开发语言·r语言·生物群落
WangYan20222 天前
R语言:数据读取与重构、试验设计(RCB/BIB/正交/析因)、ggplot2高级绘图与统计检验(t检验/方差分析/PCA/聚类)
r语言·ggplot2·dplyr
zhangfeng11333 天前
错误于make.names(vnames, unique = TRUE): invalid multibyte string 9 使用 R 语言进行数据处理时
开发语言·r语言·生物信息
zhangfeng11333 天前
R geo 然后读取数据的时候 make.names(vnames, unique = TRUE): invalid multibyte string 9
开发语言·chrome·r语言·生物信息
梦想的初衷~4 天前
R语言生物群落数据分析全流程:从数据清洗到混合模型与结构方程
机器学习·r语言·生态·环境
没有梦想的咸鱼185-1037-16636 天前
基于R语言机器学习方法在生态经济学领域中的实践技术应用
开发语言·机器学习·数据分析·r语言
zhangfeng11336 天前
R 语法高亮为什么没有,是需要安装专用的编辑软件,R语言自带的R-gui 功能还是比较简单
开发语言·r语言