范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

方剂中的高频单味两味和三味中药R语言进行关联规则分析!

  背景介绍
  如果有一组方剂, 如下图所示 ,你想从中挖掘出常用的单味、单味、两味、三味中药  ,你该怎么去做?
  今天我们使用 R语言的办法来进行挖掘分析 ,看看能挖掘出什么东西来?
  软件介绍
  [软件名称]:R;RStudio 教程介绍
  1.首先我们使用在 RStudio  中设定运行的文件夹,然后加载需要的R包,最后读取数据# 设定文件夹 setwd("D:Desktop")  # 加载需要的包 # 数据处理绘图用 library(tidyverse) # 读取excel用 library(openxlsx) # 关联规则用 library(arules)  # 读取excel数据 data <- read.xlsx("example.xlsx")
  2.接下来我们自建个函数,将方剂列分开成单味中药( 我构建的这个函数,可以分单个方剂中药物为24个的,自己的是多少可以酌情增加或减少;中药之间使用的是顿号,所以以"、"分隔 )# 自建函数 TCM2dataframe <-  function(TCM){   # TCM为中药方剂的列,之间使用"、"分割   TCM_split = TCM%>%str_split("、")   TCM_rbind = cbind(     TCM1 =  sapply(TCM_split, "[",1)%>%as.data.frame(),     TCM2 =  sapply(TCM_split, "[",2)%>%as.data.frame(),     TCM3 =  sapply(TCM_split, "[",3)%>%as.data.frame(),     TCM4 =  sapply(TCM_split, "[",4)%>%as.data.frame(),     TCM5 =  sapply(TCM_split, "[",5)%>%as.data.frame(),     TCM6 =  sapply(TCM_split, "[",6)%>%as.data.frame(),     TCM7 =  sapply(TCM_split, "[",7)%>%as.data.frame(),     TCM8 =  sapply(TCM_split, "[",8)%>%as.data.frame(),     TCM9 =  sapply(TCM_split, "[",9)%>%as.data.frame(),     TCM10 = sapply(TCM_split, "[",10)%>%as.data.frame(),     TCM11 = sapply(TCM_split, "[",11)%>%as.data.frame(),     TCM12 = sapply(TCM_split, "[",12)%>%as.data.frame(),     TCM13 = sapply(TCM_split, "[",13)%>%as.data.frame(),     TCM14 = sapply(TCM_split, "[",14)%>%as.data.frame(),     TCM15 = sapply(TCM_split, "[",15)%>%as.data.frame(),     TCM16 = sapply(TCM_split, "[",16)%>%as.data.frame(),     TCM17 = sapply(TCM_split, "[",17)%>%as.data.frame(),     TCM18 = sapply(TCM_split, "[",18)%>%as.data.frame(),     TCM19 = sapply(TCM_split, "[",19)%>%as.data.frame(),     TCM20 = sapply(TCM_split, "[",20)%>%as.data.frame(),     TCM21 = sapply(TCM_split, "[",21)%>%as.data.frame(),     TCM22 = sapply(TCM_split, "[",22)%>%as.data.frame(),     TCM23 = sapply(TCM_split, "[",23)%>%as.data.frame(),     TCM24 = sapply(TCM_split, "[",24)%>%as.data.frame())      colnames(TCM_rbind) <- paste0("中药",1:24)   return(TCM_rbind) }  # 整合表格并写入csv文件 TCM2dataframe(data$方剂)%>%   write.csv(file = "TCM_2.csv")
  3.读取刚才保存的那个 csv  文件,查看数据类型前5个# 读取csv文件 transdata0 <- read.transactions("TCM_2.csv",                   format = c("basket"),                   header = TRUE,                   sep = ",",                   cols = 1,                   rm.duplicates = TRUE)  # 查看数据类型 inspect(transdata0[1:5])
  4.计算高频词的单味中药,此时,计算的频次就出来了 # 高频词中药计算 TCM_Freq <- itemFrequency(x = transdata0,"absolute")%>%   sort(decreasing = TRUE)%>%   as.data.frame() TCM_Freq <- TCM_Freq%>%   mutate("中药名称" = rownames(TCM_Freq), .before = 1) TCM_Freq
  5.我们开始对这个数据进行绘图,同时使用程序保存图片 # 绘制柱状图 library(ggsci) TCM_Freq$中药名称<- factor(TCM_Freq$中药名称,levels = TCM_Freq$中药名称) p1 <- ggplot(TCM_Freq[1:10,],aes(x = reorder(中药名称,.),.,                             fill = 中药名称,                             label = .))+   geom_bar(stat="identity",width = 0.8)+   coord_flip()+   scale_fill_aaas()+   labs(x = "中药名称",y = "频次")+   scale_y_continuous(limits = c(0,35),expand = c(0,0))+   geom_label(nudge_y = 2)+   theme_bw()+   theme(legend.position = "none",         axis.title = element_text(size = 12,face = "bold"),         axis.text = element_text(size = 10,face = "bold"),         text = element_text(family = "serif"))  tiff("中药词频柱状图.tif",     width = 11,height = 9,     units = "cm",res = 300,     compression = "lzw",) p1 dev.off()
  6.接下来我们使用关联规则进行两味及其以上的组合分析,首先利用算法分析关联规则 # 分析关联规则 myrules <- apriori(transdata0,                    parameter = list(supp = 0.07,                                     conf = 0.6,                                     target = "rules"))  summary(myrules)
  7.将结果按照出现的频次进行排序,结果转化为dataframe # 按照出现的频次进行排序 myrules.conf <- sort(myrules,by="count",decreasing = T) TCM_FJ <- inspect(myrules.conf)%>%as.data.frame()
  8.将 dataframe  中第一和第二列数据中的括号取消,使用paste0函数将两列粘贴在一起生成新的列# 去除掉左右的{} TCM_FJ$lhs <- gsub("[{}]","",TCM_FJ$lhs) TCM_FJ$rhs <- gsub("[{}]","",TCM_FJ$rhs) TCM_FJ方剂中的高频单味、两味和三味中药:R语言进行关联规则分析!-今日头条组合` <- paste0(TCM_FJ$lhs,", ",TCM_FJ$rhs) TCM_FJ
  9.我们会发现,生成的数据中,有些数据是重复的,如第8和9行,为 石菖蒲、远志、白芍 和白芍、远志、石菖蒲 ,所以我们保留一个组合就可以了,使用下面函数进行排序并去除掉一个,写成excel文件  # 将组合的列中的中药排序,去除重复内容 TCM_FJ$组合 <- sapply(TCM_FJ$组合,                     function(x) sort(unlist(str_split(x,", ")))) TCM_FJ <- TCM_FJ[!duplicated(TCM_FJ$组合),]  write.xlsx(TCM_FJ,"temp.xlsx")
  10.最后,我们要人工将 count列 和组合列 进行筛选,如两味药的前10名  和三味药的前10名  ,整理出来,如下所示
  11.最终使用R语言对其进行绘图即可,保存图片用于发表文章 # 绘图2味药物 TCM_2 <- read.xlsx("temp.xlsx",sheet = 2) TCM_2$组合<- factor(TCM_2$组合,levels = TCM_2$组合) p_2 <- ggplot(TCM_2,aes(x = reorder(组合,count),count,                            fill = 组合,                            label = count))+   geom_bar(stat="identity",width = 0.8)+   coord_flip()+   scale_fill_npg()+   labs(x = "配对中药(2味)",y = "频次")+   scale_y_continuous(limits = c(0,25),expand = c(0,0))+   geom_label(nudge_y = 2)+   theme_bw()+   theme(legend.position = "none",         axis.title = element_text(size = 12,face = "bold"),         axis.text = element_text(size = 10,face = "bold"),         text = element_text(family = "serif")) tiff("配对中药(2味).tif",      width = 11,height = 9,      units = "cm",res = 300,      compression = "lzw",) p_2 dev.off()
  12.绘制 3味药物  的图形并进行保存# 绘图3味药物 TCM_3 <- read.xlsx("temp.xlsx",sheet = 3) TCM_3$组合<- factor(TCM_3$组合,levels = TCM_3$组合) p_3 <- ggplot(TCM_3,aes(x = reorder(组合,count),count,                  fill = 组合,                  label = count))+   geom_bar(stat="identity",width = 0.8)+   coord_flip()+   scale_fill_npg()+   labs(x = "配对中药(3味)",y = "频次")+   scale_y_continuous(limits = c(0,20),expand = c(0,0))+   geom_label(nudge_y = 1)+   theme_bw()+   theme(legend.position = "none",         axis.title = element_text(size = 12,face = "bold"),         axis.text = element_text(size = 10,face = "bold"),         text = element_text(family = "serif"))  tiff("配对中药(3味).tif",      width = 11,height = 9,      units = "cm",res = 300,      compression = "lzw",) p_3 dev.off()
  13.好了,这就是今天讲解的,如何从一组方剂中,挖掘出频次最高的单味、两味、三味中药!

三拉萨名称到底是怎么来的很多人都知道,拉萨是圣城的意思,并会讲述山羊负土填湖建大昭寺的著名传说。因为,在古藏文里拉萨一词早期的拼写和读音为Rasa,其中Ra(惹)是山羊,sa指土地地球地方,从民间语源学完时隔十年,广西平南的这个特大型宝藏终于迎来了开发期都说广西的旅游资源丰富,殊不知广西的矿产资源也是同样的丰富。例如百色市铝土矿就占到全国储量的四分之一,探明资源量达7。5亿吨,远景储量10亿吨以上。而河池市的铟储量则名列世界第一,10月14日张思德纪念馆恢复开放!开馆公告尊敬的游客朋友根据省市防疫工作要求及馆区实际情况,张思德纪念馆和仪陇县博物馆在严格执行通风消毒环境清洁核酸检测等疫情防控准备工作的前提下,经研究,决定于2022年10月14南国有奇景误入凡尘间忆我的第一次黄山之旅一直想写下黄山的美,但几经提笔又放下,怕自己水平有限,写不出她的美,但云海苍松落日,不时在脑海闪过,于是落笔浅谈。初次听说黄山,是被黄山的名片迎客松吸引,只觉得很美,自己一定要去看自驾攻略国庆长沙橘子洲行橘子洲又称橘洲水陆洲,它位于长沙市区对面的湘江江心,是湘江下游众多冲积沙洲之一,也是世界上较大的内陆洲。橘洲,西望岳麓山,东临长沙城,四面环水,绵延数十里,形状是一个长岛,是长沙重服中药期间,可以喝茶吗?服中药期间,可以喝茶吗?经常有患者问这个问题。为什么会有这个问题呢?遇秋猜测,可能是有些地方有茶会解药的说法?茶叶,苦甘微寒。单纯从药性角度来讲,它就有点清热的功效。遇秋查阅本草书阳痿的中医疗法浅谈阳痿属于性功能障碍的一种,对男性身心健康危害很大,而且还会影响生育影响夫妻感情,因此当男性出现阳痿现象时,要注意及时治疗,其中有不少患者会选择中医治疗,中医治阳痿可采用辩证疗法,对类风湿关节变形疼痛麻木,或因脾虚导致,一张方子,健脾驱邪很多类风湿关节炎患者都逃脱不了终身服药的命运,因为找不到对症的病因,只能采取一些措施控制进展,其实大多数人都忽略了一个关键。很多人类风湿没有改善,是因为脾虚。为什么这么说呢?我给大喝牛奶与不喝牛奶的老人,有什么差别?医生说出了实话牛奶是日常生活当中常见的一种饮品,对于男女老少都是比较合适的,而且它的营养价值比较高,比如蛋白质,钙元素,氨基酸等。很多人在早餐的时候会选择喝一杯牛奶,能够为身体补充营养,提供能量教你如何把腰椎间盘突出症给吃走多一点健康关注,少一点疾病担忧有很多腰椎间盘突出症的病人经常问我在饮食方面有没有需要注意的。答案是肯定的。腰椎间盘突出症的患者在吃上不仅仅需要注意,还有一些讲究。只有饮食上正确合理万病归于脾,几块钱的归脾丸,不仅能益气补血,还能治疗这6种病万病归于脾,脾为气血生化之源,如果脾虚,无力化生气血,人就容易生病。今天贾医生跟大家分享的这个药呢,叫做归脾丸,它在药店里十分常见,价格呢也很便宜,但你千万不能因此而小看了它,它不
立冬至丨预防五寒保健康11月7日,立冬2022年11月7日18时45分18秒,立冬节气至。月令七十二候集解记载立,建始也冬,终也,万物收藏也。立冬,意味着生气开始闭蓄,万物进入休养收藏状态,草木凋零蛰虫人老了,学会这三件事,比什么养生方法都有用1饮食有节俗话说养生之法,莫过于先食。老年人脾胃较弱,所以饮食上更应该多注意!首先要注意饮食的量,早饭吃好6分饱,中午7分饱,最好不要超过8分饱,晚上就尽量吃少一点,3分饱就够了。耐克阿迪翻篇?国货顺势而上,登顶中国运动鞋服市场第一随着时代的发展和生活水平的提高,人们越来越重视生活质量。过去,对许多消费者来说,价格是第一位的。在同质化的产品中,消费者往往会选择价格较低的。而如今,越来越多的消费者不再纠结于价格秋冬必囤维生素E乳膏,几块几十块搞定的宝藏滋润好物秋日生活打卡季又到了秋冬季节,每到换季的时候,皮肤难以接受环境改变,出现干燥泛红和角质层受损等多种皮肤问题,每当这个时候,修复补水保湿的护肤品十分重要,但是碍于皮肤间歇性敏感的问题一九四七年的时装革命19471027工商晚报绘图陈孝明执笔杨飞摄影林季廉本报特稿如果说都市女郎是季候底寒暑表的话,那么服装商店,便是一座标准的气象台了。似乎这是一种三位一体的综合物,摩登女郎不能一天没悦蕾玫瑰莹润净颜慕斯温和清洁保湿肌肤改善干燥敏感肤质干性敏感肌肤早晚清洁肌肤之后,应当先使用保湿化妆水保湿精华液,这些产品主要是以水及水溶性保湿成分为主,之后再使用适合自己肤质的保湿乳液或面霜,由于乳液及面霜当中的油脂成分能够为肌肤70年,凉山崛起一座清洁能源王国昭觉县的乡村美如画天下山水在于蜀。四川,素有千河之省的美誉,长江黄河金沙江等江河奔腾不息。凉山彝族自治州,又名千河之州,1094条河流从陡峭巍峨的高山出发,开山辟谷涌向江海。70年(经济)合肥花海引客来近日,安徽省合肥市肥东县梁园镇护城社区大片格桑花渐次绽放,成为扮美乡村的一道靓丽风景,吸引游客赏花游玩。11月7日,游客在安徽省合肥市肥东县梁园镇护城社区格桑花海内游玩(无人机照片连载真实的案例,江西龙虎山风景区奇案上世纪八十年代初期,江西鹰潭市龙虎山风景区发生了一起离奇案件。龙虎山,风景秀丽,素有桂林小漓江之称,有著名的古代悬棺葬,稀奇古怪的人形神女峰,那时候的国人并没有现在狂热的旅游潮。风北京公园年票能去哪些公园?两个5A十个4A景区,全国性价比最高2022年北京公园年票包含哪些公园呢?颐和园,天坛公园,中山公园,北海公园,景山公园,陶然亭公园,北京动物园,香山公园,北京植物园,玉渊潭公园,双秀公园,国际雕塑园,大观园,地坛公安徽芜湖方特梦幻王国周六过去玩,人不是很多,票价是260,一张成人,在买票机旁边找旅行社买的团体票,一张便宜15元,十点钟开园,可以玩到晚上九点之前,只要不出去就可以了。大门口的熊大熊二光头强很适合拍