データが4つの静的変数と列間の時系列データからなる新しい時系列変数を作成しようとしています。私はAの各グループ内のように最初の最新年度のDEL_0値、前年に対してDEL_1値とを取得する必要がありforループを使用して既存の列から新しい変数に値を代入する
A B C year Del_0 Del_1 Del_2 Del_3 Del_4.....
1 abc qwe 2012 1 2 3 4 5
1 abc qwe 2013 3 5 3 6 8
1 def qwe 2014 2 3 6 2 1
1 def qwe 2013 12 23 21 45 43
毎年に対して各時系列の列から値を取得する必要があります 私は、元のデータ
に戻ってそれをマージ
max_year<- aggregate(newdata$Year,by=list(newdata$A,newdata$B,newdata$C),max)
、BおよびCの
私は、クラスごとに最大年を取得するために集計を行いました
私は最新の年のDel_0値を、各グループ内の最新の年の0になる差分値を使用して取得しようとしています。
forループを使用しようとしています。
for(i in 0:4){
df[[paste(i, 'AVG', sep="_")]]<-newdata1$Del[i]
}
final data would be
A B C year Del_0 Del_1 Del_2 Del_3 Del_4.....Avg0 Avg1 Avg2 Avg3 Avg4
1 abc qwe 2012 1 2 3 4 5 2
1 abc qwe 2013 3 5 3 6 8 3
1 def qwe 2013 12 23 21 45 43 23
1 def qwe 2014 2 3 6 2 1 2
ありがとうございました。しかし、平均値は入力されません。それらはすべてNAsです。 – bnair
@bnair元のデータセットにNA値がある場合は、 'na.rm = TRUE'(ポストを更新)を使用します。また、 'str(newdata)'をチェックして 'Del'カラムが 'numeric'かどうかを調べます。 – akrun