填写缺失数据,并复制R中的其他数据

时间:2012-11-27 14:08:08

标签: r duplicates

我的数据是多年,并非所有集群都有从1990年到2010年的所有年份的数据,所以首先我要填补所有ID的缺失年份。然后我想填充我已添加年份的其余字段,并为我想要预测的其他人创建NA值。我怎样才能在 R 中解决这个问题?

LAT        LONG    Cluster_ID year
13.5330 -15.4180   1            1990
13.5330 -15.4180   1            1992
13.5330 -15.4180   1            1995
13.5330 -15.4180   1            2010
13.5330 -15.4170   2            1995
13.5330 -15.4170   2            1997
13.5330 -15.4170   2             2005
13.5340 -14.9350   3             2005
13.5340 -14.9350   3             2006
13.5340 -15.9170   4             2010
13.3670 -14.6190   5             2006

1 个答案:

答案 0 :(得分:1)

您只需创建一个包含所有可能组合的额外数据框,如下所示:

mycomb <- expand.grid(Cluster_ID = unique(mydat$Cluster_ID),
          year = 1990:2010)

使用那个你可以进行合并:

merge(mydat,mycomb,all=TRUE)

获得所需的结果。另请参阅?expand.grid?merge


代码测试:

zz <- textConnection('LAT        LONG    Cluster_ID year
13.5330 -15.4180   1            1990
13.5330 -15.4180   1            1992
13.5330 -15.4180   1            1995
13.5330 -15.4180   1            2010
13.5330 -15.4170   2            1995
13.5330 -15.4170   2            1997
13.5330 -15.4170   2             2005
13.5340 -14.9350   3             2005
13.5340 -14.9350   3             2006
13.5340 -15.9170   4             2010
13.3670 -14.6190   5             2006')

mydat <- read.table(zz,header=TRUE)