R语言/FAERS/论文写作中的一些问题——⑤柱状图和热点图

一、本篇目的

画柱状图和热点图

二、需要解决的问题

找到包,写出代码

三、解决问题的思路

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、后续我会继续研究研究“一键挖掘”的包怎么写,应该较长时间不会更新,万一研究明白了,会继续分享“一键挖掘包”的相关内容。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。

Powered by 正点娱乐平台 RSS地图 HTML地图

Copyright Powered by站群 © 2013-2024

正点娱乐平台