私は、他の人が決定を下すのを助けるために、私の会社の健康保険給付オプションを視覚化しようとしています。私はそのようなテーブルを持っています:
| plan | ded | oop | exp_oop |
|------+------------+------+---------|
| a | 400 | 2100 | 17400 |
| b | 1300 | 2600 | 14300 |
| c | 2600 | 5200 | 28600 |
ded
=控除可能; 90%の共同保険が開始される費用レベルoop
=ポケットの最大値exp_oop
oop
=到達した医療費の額
従業員の費用と発生した医療費をプロットしたいと思います。健康保険は範囲で機能します...
cost = expenses for 0 < expenses < ded
cost = deductible + (0.10 x (expenses - ded)) for ded <= expenses < exp_oop
cost = oop for oop <= expenses <= infinity
これらの各範囲をどのようにプロットできますか?基本的に、各計画の控除対象に対して0に対して勾配= 1の線を取得し、次にx=控除可能からx=oopまでの勾配=0.1の線を取得し、次にoopから上向きの勾配=0の線を取得します。
ggplot2で条件付きでプロットする方法がわかりません。上記を使用したい場合は、これらのカットオフの再現可能なコードを次に示します。
dat <- data.frame(plan = c("a", "b", "c"), ded = c(400, 1300, 2600), oop = c(2100, 2600, 5200), exp_oop = c(17400, 14300, 28600))
x / y値を自分で作成する必要がありますか?言い換えれば、そのような中間テーブル?
| plan | x | y |
|------+-------+------|
| 1 | 0 | 0 |
| 1 | 400 | 400 |
| 1 | 17400 | 2100 |
| 2 | 0 | 0 |
| 2 | 1300 | 1300 |
| 2 | 14300 | 2600 |
| 3 | 0 | 0 |
| 3 | 2600 | 2600 |
| 3 | 28600 | 5200 |
私はいくつかのバリエーション(従業員のみ、従業員+配偶者など)に対してこれを行っているので、プランごとに個別のデータテーブルは必要ありませんが、すでに定義されている控除対象とポケットの最大値で作業できれば素晴らしいでしょうデータフレームにすでにある値...
提案をありがとう!