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 回答