创建或修改目录:/www/wwwroot/104.219.215.234/data 失败!
【IDBD-263】IPが誇る超絶品A☆BODYスペシャル8時間 多列真正区间、多组别的丛林图绘制 - 瑶瑶系列
栏目分类
热点资讯
你的位置:瑶瑶系列 > 做爱图片 > 【IDBD-263】IPが誇る超絶品A☆BODYスペシャル8時間 多列真正区间、多组别的丛林图绘制

做爱图片

【IDBD-263】IPが誇る超絶品A☆BODYスペシャル8時間 多列真正区间、多组别的丛林图绘制

发布日期:2024-08-24 08:39    点击次数:160

【IDBD-263】IPが誇る超絶品A☆BODYスペシャル8時間 多列真正区间、多组别的丛林图绘制

💡专注R谈话在🩺生物医学中的使用【IDBD-263】IPが誇る超絶品A☆BODYスペシャル8時間

设为“星标”,精彩可以过

刻下R内部绘制丛林图最佳用的R包我合计即是forestploter了,我写过多篇推文先容过丛林图,其中都用到了这个R包,比如:

用更粗鲁的形状画丛林图R谈话亚组分析及丛林图绘制R谈话亚组分析1行代码竣事!亚组分析和多身分总结的丛林图比拟

况且这个包的作家还在积极调遣中,莫得跑路的趋势~在R中绘制丛林图,诚然我先容过许多R包,关联词用到当今我最推选的皆备是forestploter,莫得之一!

今天再给全球先容下怎样使用这个包绘制有多列丛林的丛林图。

领先全球要昭彰这个包的使用逻辑,我在画一个面子的丛林图一文中就先容过:

此包在画丛林图时,最主要的是2个部分,一个是翰墨刻画部分,即图中红框框住的部分,另一部分即是中间的丛林图部分,其余的都是细节修改问题,只须充足耐性,就一定能颐养到我方惬意。

图片

forest plot

其中丛林图,中间的绿色方块是均值(不详其他值),横线的两端是最大值和最小值(比如真正区间的高下限之类的),是以你要是思要画出这个丛林的部分,就需要提供3个值:中间的方块和两端的值。

连气儿了这个理念之后,使用这个包就容易多了。内容使用时防备它的条目即可,要了解其中的细节,乱写确定是不可的。最遑急的3个点是(相等遑急):

使用空格竣事缩进服从添加空列以舍弃丛林翰墨刻画部分的有些NA需要改成空缺

常见的亚组分析的丛林图我就不展示奈何画了,全球参考前边的几篇推文吧,平直演示怎样绘制多列真正区间的丛林图。

领先是准备数据:

library(forestploter)library(grid)dt <- read.csv(system.file("extdata", "example_data.csv", package = "forestploter"))dt <- dt[1:7, ]# indent the subgroup if there is a number in the placebo columndt$Subgroup <- ifelse(is.na(dt$Placebo),                       dt$Subgroup,                      paste0("   ", dt$Subgroup))# 这里的NA要改成空缺,不然会在图中袒露为NAdt$n1 <- ifelse(is.na(dt$Treatment), "", dt$Treatment)dt$n2 <- ifelse(is.na(dt$Placebo), "", dt$Placebo)# 添加两列空缺用来舍弃“丛林”dt$`CVD outcome` <- paste(rep(" ", 20), collapse = " ")dt$`COPD outcome` <- paste(rep(" ", 20), collapse = " ")# 构造真正区间,sprintf是一个相等好用的步履化函数,我方学习下dt$ci1 <- paste(sprintf("%.1f (%.1f, %.1f)", dt$est_gp1, dt$low_gp1, dt$hi_gp1),                sprintf("%.1f (%.1f, %.1f)", dt$est_gp3, dt$low_gp3, dt$hi_gp3),                sep = "\n")dt$ci1[grepl("NA", dt$ci1)] <- "" # 把NA酿成空缺,你可以不蜕变绘制望望服从dt$ci2 <- paste(sprintf("%.1f (%.1f, %.1f)", dt$est_gp2, dt$low_gp2, dt$hi_gp2),                sprintf("%.1f (%.1f, %.1f)", dt$est_gp4, dt$low_gp4, dt$hi_gp4),                sep = "\n")dt$ci2[grepl("NA", dt$ci2)] <- "" # 把NA酿成空缺

底下是绘制:

# 主题树立tm <- forest_theme(base_size = 10,                   refline_lty = "solid",                   ci_pch = c(15, 18),                   ci_col = c("#377eb8", "#4daf4a"),                   footnote_col = "blue",                   legend_name = "Group",                   legend_value = c("Trt 1", "Trt 2"),                   vertline_lty = c("dashed", "dotted"),                   vertline_col = c("#d6604d", "#bababa"),                   # Table cell padding, width 4 and heights 3                   core = list(padding = unit(c(4, 3), "mm")))p <- forest(dt[,c(1, 19, 23, 21, 20, 24, 22)],            est = list(dt$est_gp1,                       dt$est_gp2                       # ,dt$est_gp3,                       # dt$est_gp4                       ),            lower = list(dt$low_gp1,                         dt$low_gp2                         # ,dt$low_gp3,                         # dt$low_gp4                         ),             upper = list(dt$hi_gp1,                         dt$hi_gp2                         # ,dt$hi_gp3,                         # dt$hi_gp4                         ),            ci_column = c(4, 7),            ref_line = 1,            vert_line = c(0.5, 2),            #nudge_y = 0.4,            theme = tm)plot(p)

图片

怎样绘制有不同分组的丛林图呢?如下图所示,分红了Trt1和Trt2组:

图片

很粗鲁,把上头瞩目掉的代码加上即可,如下所示。

# 主题树立tm <- forest_theme(base_size = 10,                   refline_lty = "solid",                   ci_pch = c(15, 18),                   ci_col = c("#377eb8", "#4daf4a"),                   footnote_col = "blue",                   legend_name = "Group",                   legend_value = c("Trt 1", "Trt 2"),                   vertline_lty = c("dashed", "dotted"),                   vertline_col = c("#d6604d", "#bababa"),                   # Table cell padding, width 4 and heights 3                   core = list(padding = unit(c(4, 3), "mm")))# 第21列和第22列是咱们添加的空缺列,用来放“丛林”的# 在图中,咱们思把这两列“丛林”放在图的第4列和第7列(看着图数一数),# 是以21放在第4个,22放在第7个p <- forest(dt[,c(1, 19, 23, 21, 20, 24, 22)],            est = list(dt$est_gp1,                       dt$est_gp2                       ,dt$est_gp3,                       dt$est_gp4                       ),            lower = list(dt$low_gp1,                         dt$low_gp2                         ,dt$low_gp3,                         dt$low_gp4                         ),             upper = list(dt$hi_gp1,                         dt$hi_gp2                         ,dt$hi_gp3,                         dt$hi_gp4                         ),            ci_column = c(4, 7), # “丛林”在图中的位置            ref_line = 1,            vert_line = c(0.5, 2),            nudge_y = 0.4,            theme = tm)plot(p)

图片

这个包对这种情况的处分相等神秘。

要是你要画2个丛林,要是你惟有1个组,那么你需要准备2套画丛林的数据,比如est=list(dt$est_gp1,dt$est_gp2),就永别对应着2个丛林中间点的值;要是你有2个组,也即是上头这个例子,那你要准备4套画丛林的数据,比如est=list(dt$est_gp1,dt$est_gp2,dt$est_gp3,dt$est_gp4),对应谈论如下图所示:

图片

两侧端点的值,对应谈论亦然和上图相似的,是以lower和upper亦然各需要4列。这是一个倍数谈论,不知说念你看懂了没~

为了浅近你连气儿,我把惟有1组的对应谈论也标出来:

图片

是以要是你惟有1列丛林,关联词有3个分组,那你就需要准备3套数据(3列est,3列lower,3列upper),要是你要3列丛林,惟有1个分组,那你亦然需要准备3套数据(3列est,3列lower,3列upper),要是你要3列丛林,况且有2个分组,那你需要准备6套数据(6列est,6列lower,6列upper)。

给全球展示一个3列丛林,有2个分组的,先准备下数据:

# 再添加1列空缺用来舍弃“丛林”dt$`测试outcome` <- paste(rep(" ", 20), collapse = " ")# 添加几列画“丛林”的数据Z,偷个懒,平直复制了dt$low_gp5 <- dt$low_gp1dt$low_gp6 <- dt$low_gp3dt$est_gp5 <- dt$est_gp2dt$est_gp6 <- dt$est_gp3dt$hi_gp5 <- dt$hi_gp1dt$hi_gp6 <- dt$hi_gp4

然后选拔绘制需要的数据,绘制即可,防备把丛林放在正确的位置上:

# 主题树立tm <- forest_theme(base_size = 10,                   refline_lty = "solid",                   ci_pch = c(15, 18),                   ci_col = c("#377eb8", "#4daf4a"),                   footnote_col = "blue",                   legend_name = "Group",                   legend_value = c("Trt 1", "Trt 2"),                   vertline_lty = c("dashed", "dotted"),                   vertline_col = c("#d6604d", "#bababa"),                   # Table cell padding, width 4 and heights 3                   core = list(padding = unit(c(4, 3), "mm")))# 防备正确选拔你的“刻画”部分和“丛林”部分p <- forest(dt[,c(1, 19, 21, 22, 25)], # 这里是选拔“刻画”部分和舍弃“丛林”的列            est = list(dt$est_gp1,                       dt$est_gp2                       ,dt$est_gp3,                       dt$est_gp4,                       dt$est_gp5,                       dt$est_gp6                       ),            lower = list(dt$low_gp1,                         dt$low_gp2                         ,dt$low_gp3,                         dt$low_gp4,                         dt$low_gp5,                         dt$low_gp6                         ),             upper = list(dt$hi_gp1,                         dt$hi_gp2                         ,dt$hi_gp3,                         dt$hi_gp4,                         dt$hi_gp5,                         dt$hi_gp6                         ),            ci_column = c(3, 4, 5),            ref_line = 1,            vert_line = c(0.5, 2),            nudge_y = 0.4,            theme = tm)plot(p)

图片

是不是很easy呢?

这里我值选拔了2列刻画部分,你可以凭据我方的需求璷黫添加。我通篇莫得给全球展示数据长什么样,关联词全球我方在学习这个包的时期,一定要对照着数据和图一说念看,这么智商更好的连气儿这个包的理念。

成人网有哪些

除此以外,这个包的自界说空间相等大,因为是基于grid的,太解放了,行高、列宽、前愉快、背愉快、字体、对皆形状等等都是可以更动的【IDBD-263】IPが誇る超絶品A☆BODYスペシャル8時間,多望望匡助文档即可。

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

创建或修改目录:/www/wwwroot/104.219.215.234/data 失败!
JzEngine Create File False