可视化,绘制森林图

Usage,
visualization_forest(
  data_input = "",
  col_effect_size = "or",
  col_effect_size_lci95 = "or_lci95",
  col_effect_size_uci95 = "or_uci95",
  digits = 3,
  col_labeltext = c("probeID", "p_SMR"),
  col_labeltext_rename = NULL,
  effect_size_cut_off = 1,
  group_num = 1,
  group_color = c("#E64B35FF", "#4DBBD5FF", "#00A087FF", "#3C5488FF", "#F39B7FFF",
    "#8491B4FF", "#91D1C2FF", "#DC0000FF"),
  group_line_color = "black",
  group_line_lwd = 2,
  bg_zebra_add = T,
  bg_zebra_color = "#EFEFEF",
  xlog = F,
  xlab = "effect size(OR)",
  boxsize = 0.3,
  vertices = T,
  graph_pos = NULL,
  graph_width = 40,
  clip = c(-Inf, Inf),
  xticks = NULL,
  ci_pos = NULL,
  ci_pos_name = "OR(95% CI)",
  ci_pos_sep = "-",
  title = NULL,
  pdf_out = F,
  width = 10,
  height = 6,
  out_path = "./",
  out_prefix = "my"
)

参数

data_input

用于绘制森林图的数据,为data.frame的形式

col_effect_size

data_input中,效应值对应的列名,默认为"or"

col_effect_size_lci95

data_input中,效应值的95%置信区间下界对应的列名,默认为"or_lci95"

col_effect_size_uci95

data_input中,效应值的95%置信区间上界对应的列名,默认为"or_uci95"

digits

如果展示效应值(95%CI),对应数值的小数位置,默认是3。

col_labeltext

绘制森林图中,需要展示的列。需要和data_input中的列名一致。

col_labeltext_rename

绘制森林图中,需要展示的列。对col_labeltext进行重命名,用于绘图展示。

effect_size_cut_off

绘制森林图中,区分效应值方向的界值。如果是效应值为or,则对应的界值为1;如果效应值是beta,则对应的界值为0。

group_num

是否按照分组进行绘制森林图,每一组中的数量是多少,默认为1。每个组内的数量应保持一致。

group_color

是否按照分组进行绘制森林图,每一组中对应的颜色设置。可使用默认,或者自己修改颜色。

group_line_color

是否按照分组进行绘制森林图,每一组中95%CI对应的线条颜色设置。默认为黑色。

group_line_lwd

是否按照分组进行绘制森林图,每一组中95%CI对应的线条宽度设置。默认为2。

bg_zebra_add

是否增加类似于斑马线的背景条纹,可以是T或者F。默认为T,即增加斑马线条纹。

bg_zebra_color

当bg_zebra_add=T的时候,设置斑马线条纹的颜色,默认为"#EFEFEF"。

xlog

绘制森林图中,是否对x轴取log转换

xlab

绘制森林图中,x轴的标题

boxsize

估计值对应的图像大小,默认为0.3。

vertices

95%CI线条的两端是否增加顶点,可以是T或者F。默认为T,即增加顶点。

graph_pos

绘制森林图的图部分,图位于哪一列。

graph_width

绘制森林图的图部分,图的宽度,默认为40。

clip

展示指定区间内的结果,默认为c(-Inf, Inf),即展示所有区间内的结果。

xticks

指定x轴坐标的刻度线,默认为NULL,即系统根据情况自动设置。

ci_pos

如果展示效应值(95%CI),对应文字位于哪一列。默认是NULL,即不展示。

ci_pos_name

如果展示效应值(95%CI),对应的列名,用于绘图展示。

ci_pos_sep

如果展示效应值(95%CI),指定用于分割上下95%CI的分隔符,默认为"-"。

title

设置图的标题,默认为NULL。

pdf_out

是否输出pdf文件,默认为F。可用返回的图片进行微调之后,再进行输出pdf文件。

width

输出pdf文件的宽度,默认为10

height

输出pdf文件的高度,默认为6

out_path

输出pdf文件的路径,默认当前路径

out_prefix

输出pdf文件的前缀,默认“my”

森林图

Examples

# 该函数详细使用情况见语雀文档示例:《可视化→森林图Forest plot》
# 1. mqtl-gwas的smr分析结果读入和注释,以染色体1对应的smr分析结果为例
smr_res <- data.table::fread("./results/mqtl2gwas/smr/m2gwas_bl_mqtl_lite_chr1_ieu-a-31.smr",data.table = F)

# 2. 计算OR
smr_res <- append_col_or(dat = smr_res)

# 3.绘制森林图

visualization_forest(data_input =smr_res[1:10,],
col_labeltext = c("probeID","p_SMR"),
col_labeltext_rename =  c("probe ID","p value"),
xlog = T,
digits = 2, # 设置or(95%ci)的小数位置
graph_pos = 3,
ci_pos = 3,
ci_pos_sep = ",",  # ci_pos_sep用于设置上下95%ci的分隔符
pdf_out = T,
height = 10,
width = 8,
out_prefix = "my")