我的数据是多年,并非所有集群都有从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
答案 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)