在森林地块中绘制不同的置信区间

时间:2016-04-13 09:06:24

标签: r plot

我尝试用森林图中的方框创建不同的置信区间。 我想根据行p值绘制c(fpDrawNormalCI, fpDrawCircleCI)。我的DF

l  hr u p-value names
1  2  3  0.01    A
2  3  4  0.0001  B
3  4  5  0.01    C

如果p值小于0.001,则该框应为fpDrawNormalCI,否则为fpDrawCircleCI

我使用以下代码

创建了forestplot
library(forestplot)
forestplot(DF$names,DF$hr, DF$l, DF$u, fn.ci_norm=c(fpDrawNormalCI))

我曾尝试使用if () else () ifelse (),但它没有用。 请你帮助我好吗。先谢谢你。

1 个答案:

答案 0 :(得分:0)

您需要做的是使用size参数或置信区间宽度,然后传递给子函数。如果您的置信区间宽度为 20 == p-value 0.001 ,那么您可以这样做:

custom_ci_norm = function(lower_limit,
                           estimate,
                           upper_limit,
                           ...) {
  if((upper_limit - lower_limit) > 20){
     return fpDrawCircleCI(lower_limit,
                           estimate,
                           upper_limit,
                           ...)
  }else{
     return fpDrawNormalCI(lower_limit,
                           estimate,
                           upper_limit,
                           ...)
  }
}