0

私のデータは年単位であり、すべてのクラスターに 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
4

1 に答える 1

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)
于 2012-11-27T14:20:30.163 に答える