昨天下午和今天早上我花了大部分时间试图深入了解我的问题。如果你能指出任何可能很棒的资源!
我在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。
但是,我正在尝试构建一个流程,这种方法不会很灵活。
关于如何解决这个问题的任何想法?!
答案 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)