我尝试用森林图中的方框创建不同的置信区间。
我想根据行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
我使用以下代码
创建了forestplotlibrary(forestplot)
forestplot(DF$names,DF$hr, DF$l, DF$u, fn.ci_norm=c(fpDrawNormalCI))
我曾尝试使用if () else () ifelse ()
,但它没有用。
请你帮助我好吗。先谢谢你。
答案 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,
...)
}
}