5

私は昨日の午後と今朝の大半を費やして、自分の問題についての洞察を得ようとしました。素晴らしいリソースを教えていただければ幸いです。

R に (Oracle テーブルからインポートされた) データフレームがあります。以下のデータを参照してください。私はこれを Loss_Data と呼んでいます。

    Loss_Yr Dev_Lag Claim_Amnt
1   2007    1   300
2   2007    2   10
3   2007    3   250
4   2007    5   5
5   2008    1   450
6   2008    2   80
7   2008    4   3
8   2009    1   175
9   2009    3   20
10  2010    1   95
11  2010    2   40
12  2011    1   130

ただし、次のようにする必要があります。すべての可能な Loss_Yr と Dev_Lag の組み合わせの行があることを確認する必要があります。追加された行を確認する

    Loss_Yr Dev_Lag Claim_Amnt
1   2007    1   300
2   2007    2   10
3   2007    3   250
***4    2007    4   0***
5   2007    5   5
6   2008    1   450
7   2008    2   80
***8    2008    3   0***
9   2008    4   3
10  2009    1   175
***11   2009    2   0***
12  2009    3   20
13  2010    1   95
14  2010    2   40
15  2011    1   130

最初は、可能なすべての組み合わせで「ダミー」テーブルを作成し、既存のテーブルとマージすることを考えていました。最初のテーブル Loss_Data のレコードを保持します。

ただし、プロセスを構築しようとしていますが、この方法はあまり適切ではありません。

これに取り組む方法についてのアイデアはありますか?!

4

1 に答える 1

7

あなたが説明するアプローチは正しい考えです。実装を複雑にしすぎているのではないでしょうか。

d <- read.table(text="Loss_Yr Dev_Lag Claim_Amnt
1   2007    1   300
2   2007    2   10
3   2007    3   250
4   2007    5   5
5   2008    1   450
6   2008    2   80
7   2008    4   3
8   2009    1   175
9   2009    3   20
10  2010    1   95
11  2010    2   40
12  2011    1   130", header=TRUE, row.names=1)

filled <- merge(d, 
                with(d, expand.grid(Loss_Yr=unique(Loss_Yr), Dev_Lag=unique(Dev_Lag))), 
                all=TRUE)
于 2013-01-11T21:12:17.210 に答える