で設定したパネルデータにまたがっは、私は、データの3年間の平均を取るしたい、私はDFと呼ばれる次のデータフレームを、持っているのNA
Country Year Var1 Var2
USA 2010 5 3
USA 2011 6 5
USA 2012 NA 8
USA 2013 4 NA
USA 2014 NA 6
USA 2015 6 9
CHN 2010 NA 5
CHN 2011 7 NA
CHN 2012 6 NA
CHN 2013 4 4
CHN 2014 NA 6
CHN 2015 NA 8
EGY 2010 3 NA
EGY 2011 3 5
EGY 2012 3 6
EGY 2013 NA 8
EGY 2014 NA NA
EGY 2015 NA 2
を3年間の平均を取ります。しかし、特定の3年の期間内に利用可能なデータが2年しかない場合は、NAを無視して2年間平均したいと考えています。同様に、データが特定の3年の期間内に1年間しか利用できない場合は、そのデータポイントをその3年間の期間の「平均」として保持する必要があります。基本的には、3年ごとに平均を取ってNAを無視したい。
私はで推奨されて、次の解決策試してみました:
Group.1 Group.2 Var1 Var2
CHN [2010,2013) NA NA
EGY [2010,2013) 3 NA
USA [2010,2013) NA 5.333333
CHN [2013,2016) NA 6.000000
EGY [2013,2016) NA NA
USA [2013,2016) NA NA
しかし、私が興味を持っています出力は次のとおりです:それは次のように得られたR: Calculating 5 year averages in panel data
int<-cut(DF$Year,seq(2010,2016,by=3),right=F)
id<-c("Var1", "Var2")
ag<-aggregate(DF[id],list(DF$Country,int), mean)
を
Group.1 Group.2 Var1 Var2
CHN [2010,2013) 6.5 5
EGY [2010,2013) 3 5.5
USA [2010,2013) 5.5 5.3
CHN [2013,2016) 4 6
EGY [2013,2016) NA 5
USA [2013,2016) 5 7.5
申し訳ありませんが、私は新しいです。これを無視してください。それは不完全です。 – user49017
小さな再現可能な例と期待される出力を表示してください – akrun
私は包括的な質問を削除して投稿しようとしています。削除が可能ですか? – user49017