一、本篇目的
画柱状图和热点图
二、需要解决的问题
找到包,写出代码
三、解决问题的思路
geom_bar画柱状图
geom_tile画热点图
四、程序实现
4.1 柱状图
提供模拟数据
链接: https://pan.baidu.com/s/14aotFk45d5y0nqUYUzkXHA
上述数据是得到某药的挖掘结果后,进行SOC编码,并根据IC_2SD大小,对signal进行了"strong"、"moderate"、 "weak"三个强度划分。
载入包和数据
library(tidyverse)library(openxlsx)df <- read.xlsx("柱状图模拟数据.xlsx") %>% tibble()画图
df %>% group_by(soc_nam_c, Signals) %>% summarise(n = n()) %>% #根据名字和强度进行分组统计 type_convert(col_types = cols(Signals = col_factor(levels = c("strong", "moderate", "weak")))) %>% #转换Signals的数据类型为因子 ggplot(aes(soc_nam_c, n, fill = Signals)) + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle = -90, vjust = 0, hjust = 0)) #调整横坐标的显示图片
4.2 热点图
提供模拟数据
链接: https://pan.baidu.com/s/1B4HeL_5UJ7IlwBUATtFang
提取码: whb1
上述数据是某篇论文的复现结果,对pt进行了soc编码,并且根据疫情前后的数据,得到了疫情前后,同一PT的不同信号强度(该信号强度也是根据IC_2SD的数值大小转换而成,分为"strong"、"moderate"、 "weak"三个等级)。
载入包和数据
library(tidyverse)library(openxlsx)df <- read.xlsx("热点图模拟数据.xlsx") %>% tibble()画图
df %>% gather(key = Signals_before_after, value = Signals, `Signals_before` : `Signals_after`) %>% #长宽表格转换,得到画图所需的数据格式 type_convert(col_types = cols(Signals = col_factor(levels = c("strong", "moderate", "weak")))) %>% #Signals数据类型转换为因子 ggplot() + geom_tile(aes(Signals_before_after, pt_nam_c, fill = Signals)) + #横坐标按照疫情前后进行分类,纵坐标按照PT名字,颜色按信号强度填充 facet_wrap(~ soc_nam_c, scales = "free") + #按照SOC进行分面定位 theme(axis.text.x = element_text(angle = -30, vjust = 0, hjust = 0))#调整横坐标图片
五、小结
1、上述代码写的比较粗糙,感兴趣的老师可以自行深入研究。
2、FAERS数据库挖掘的相关内容写的差不多了,暂时告一段落。
3、后续我会继续研究研究“一键挖掘”的包怎么写,应该较长时间不会更新,万一研究明白了,会继续分享“一键挖掘包”的相关内容。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。
