さまざまな国での武力紛争について、1989 年から 2008 年までの年を含む R data.frame にパネル データがあります。ただし、特定の年に武力紛争を経験した国の観測のみが含まれています。
データセットは次のようになります。
df <- data.frame(c("1989","1993","1998",
"1990","1995","1997"),
c(rep(c(750, 135), c(3,3))), c(rep(1,6)))
names(df)<-c("year","countrycode","conflict")
print(df)
year countrycode conflict
1 1989 750 1
2 1993 750 1
3 1998 750 1
4 1990 135 1
5 1995 135 1
6 1997 135 1
現在、パネル データのギャップを埋めたいと考えていますが、3 年以内のギャップのみを埋めたいと考えています。たとえば、行 1 と 2 の間と行 5 と 7 の間に行を追加したい (ギャップはそれぞれ 3 年と 1 年です) が、行 2 と 3 の間も行 4 と 5 の間にも追加しません (ギャップはそれぞれ 4 年です)。 . この手順の後、上記の data.frame は次のようになります。
> df2 <- data.frame(c("1989","1990","1991","1992","1993","1998",
+ "1990","1995","1996","1997"),
+ c(rep(c(750, 135), c(6,4))), c(1,0,0,0,1,1,1,1,0,1))
> names(df2) <- c("year","countrycode","conflict")
> print(df2)
year countrycode conflict
1 1989 750 1
2 1990 750 0
3 1991 750 0
4 1992 750 0
5 1993 750 1
6 1998 750 1
7 1990 135 1
8 1995 135 1
9 1996 135 0
10 1997 135 1
plm
パッケージを調べましたが(こちらを参照)、答えが見つかりませんでした。また、私はRに比較的慣れていないので、ヒントをいただければ幸いです。