2016-04-13 2 views
0

フォレストプロットのボックスとは異なる信頼区間を作成しようとします。 私は線p値に応じてc(fpDrawNormalCI, fpDrawCircleCI)をプロットしたいと思います。 p値が0.001未満の場合はマイ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 

ボックスはそうでない場合、fpDrawNormalCI私は、私が使用しようとしました

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

次のコードを使用してforestplot作成fpDrawCircleCI

する必要がありますif() else() ifelse()しかし、それは動作しませんでした。 私を助けてください。あらかじめありがとうございます。

+0

はあなたのプロットを再現することはできません。良い例をprvoideしてください – Jimbou

答えて

0

あなたがする必要があるのは、size引数または信頼区間幅を使用してからサブ関数に渡すことです。あなたは20 == p値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, 
          ...) 
    } 
}