Rのルールに基づく累積列

セケンエンラータオ

増分開発データがあります。各Dev#列には、ClaimNoの個別の支払いが表示されます。

ClaimNo<-c("3333","11111","01010","15060")
AccidentPeriod <- c(0,3,1,2)
Information<-c("Infor","Infor","Infor","Infor")
Dev0<-c(100,40,50,0)
Dev1<-c(0,0,100,15)
Dev2<-c(50,0,0,0)
Dev3<-c(0,0,0,0)

IncrementalData<-data.frame(ClaimNo,AccidentPeriod,Information,Dev0,Dev1,Dev2,Dev3)

ここに画像の説明を入力してください

累積する必要があります。列の合計は対角線で停止する必要があります。たとえば、4つの開発期間があることがわかっています。クレームのAccidentPeriodが2の場合、AccidentPeriod + Dev#は3超えることはできないため(0から開始、合計はDev2で停止する必要があります

If the AccidentPeriod is 0, summing of Dev# should stop at 3
If the AccidentPeriod is 2, summing of Dev# should stop at 1
If the AccidentPeriod is 1, summing of Dev# should stop  at 2

この累積データを取得するために、各累積列にifelse関数を記述できます。しかし、列が多すぎます。短い方法があるはずです。

これが私に必要なものです。

ここに画像の説明を入力してください

これをVBAで記述したい場合:

DevCum_0=Dev0
for a=1 to 3
b=a-1
DevCum_a=Deva+DevCum_b

ありがとう!

ThomasIsCoding

以下のコードを試してみてください apply

indsDev <- grep("^Dev",names(IncrementalData))
dfout <- cbind(
    IncrementalData[-indsDev],
    t(apply(
        IncrementalData,
        1,
        function(x) {
            x[min(indsDev):(max(indsDev) - as.numeric(x[2]))] <- head(cumsum(x[indsDev]), length(indsDev) - as.numeric(x[2]))
            `class<-`(x[indsDev], "numeric")
        }
    ))
)

そのような

> dfout
  ClaimNo AccidentPeriod Information Dev0 Dev1 Dev2 Dev3
1    3333              0       Infor  100  100  150  150
2   11111              3       Infor   40    0    0    0
3   01010              1       Infor   50  150  150    0
4   15060              2       Infor    0   15    0    0

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

別の列の値に基づく列の累積合計(R)

分類Dev

2つの列に基づくrの累積合計

分類Dev

フィールドの累積合計に基づく要素のフィルタリング

分類Dev

計算列の値に基づく累積列

分類Dev

別の列の値に基づく累積カウント

分類Dev

特定の列の値に基づく累積合計

分類Dev

他の列の条件に基づく累積合計

分類Dev

サブグループのそれぞれの最後の値に基づく累積合計

分類Dev

同じ列の計算結果に基づく累積合計

分類Dev

グループの最初の日付に基づいて、日付列に月を累積的に追加します

分類Dev

rの列の累積値に基づいてデータを分割する

分類Dev

グループ内の別の列に基づいて選択的な累積合計を高速化する

分類Dev

別の列のパンダの基準に基づく累積最大/分

分類Dev

MS Excel-別の列の「id値」に基づく列の累積合計?

分類Dev

他の列のPython3 + Pandasデータフレームの条件に基づく年ごとの累積

分類Dev

2つのカテゴリ列に基づく累積カウント

分類Dev

累積値に基づくランク

分類Dev

IDに基づく累積SUM

分類Dev

列の累積合計を使用して作成されたグループ化に基づいてRdata.tableをフィルター処理します

分類Dev

特定の条件に基づく累積合計

分類Dev

指定された値に基づく累積合計の差

分類Dev

累計に基づくサブサンプルの分析

分類Dev

ブール値列Altairに基づく積み上げ棒グラフ

分類Dev

別の列の文字列に基づく合計/累積列を実行するPythonGroupby

分類Dev

ルールに基づく複数の列のWPFDataGridの色

分類Dev

if条件に基づく2番目のテーブルのR合計列

分類Dev

rのフラグ列に基づくパネルデータの内挿

分類Dev

既存の列に基づいてデータフレームに新しい累積列を作成する

分類Dev

既存の列に基づいてデータフレーム内の新しい累積列を計算する

Related 関連記事

  1. 1

    別の列の値に基づく列の累積合計(R)

  2. 2

    2つの列に基づくrの累積合計

  3. 3

    フィールドの累積合計に基づく要素のフィルタリング

  4. 4

    計算列の値に基づく累積列

  5. 5

    別の列の値に基づく累積カウント

  6. 6

    特定の列の値に基づく累積合計

  7. 7

    他の列の条件に基づく累積合計

  8. 8

    サブグループのそれぞれの最後の値に基づく累積合計

  9. 9

    同じ列の計算結果に基づく累積合計

  10. 10

    グループの最初の日付に基づいて、日付列に月を累積的に追加します

  11. 11

    rの列の累積値に基づいてデータを分割する

  12. 12

    グループ内の別の列に基づいて選択的な累積合計を高速化する

  13. 13

    別の列のパンダの基準に基づく累積最大/分

  14. 14

    MS Excel-別の列の「id値」に基づく列の累積合計?

  15. 15

    他の列のPython3 + Pandasデータフレームの条件に基づく年ごとの累積

  16. 16

    2つのカテゴリ列に基づく累積カウント

  17. 17

    累積値に基づくランク

  18. 18

    IDに基づく累積SUM

  19. 19

    列の累積合計を使用して作成されたグループ化に基づいてRdata.tableをフィルター処理します

  20. 20

    特定の条件に基づく累積合計

  21. 21

    指定された値に基づく累積合計の差

  22. 22

    累計に基づくサブサンプルの分析

  23. 23

    ブール値列Altairに基づく積み上げ棒グラフ

  24. 24

    別の列の文字列に基づく合計/累積列を実行するPythonGroupby

  25. 25

    ルールに基づく複数の列のWPFDataGridの色

  26. 26

    if条件に基づく2番目のテーブルのR合計列

  27. 27

    rのフラグ列に基づくパネルデータの内挿

  28. 28

    既存の列に基づいてデータフレームに新しい累積列を作成する

  29. 29

    既存の列に基づいてデータフレーム内の新しい累積列を計算する

ホットタグ

アーカイブ