R中数据集中缺少行

时间:2013-01-11 21:03:13

标签: r

昨天下午和今天早上我花了大部分时间试图深入了解我的问题。如果你能指出任何可能很棒的资源!

我在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。

但是,我正在尝试构建一个流程,这种方法不会很灵活。

关于如何解决这个问题的任何想法?!

1 个答案:

答案 0 :(得分: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)