2

1 日あたり 1 行/観測がある「長い」形式の時系列データのデータ フレームがあります。このデータを「ワイド」フォーマットに変換したいと思います。各行/観察には、現在の日付と過去 2 日間の時系列値が含まれている必要があります。

具体的な例として、R で利用可能な大気質データを使用します。これが、入力データ フレームの外観です。

> input <- airquality[1:4,c("Month", "Day", "Ozone")]
> input
  Month Day Ozone
1     5   1    41
2     5   2    36
3     5   3    12
4     5   4    18

この入力を次のように変換したいと思います。

output <- data.frame(Month = 5, Day = 1:4, Ozone=c(41,36,12,18), Ozone.Prev.1=c(NA,41,36,12), Ozone.Prev.2=c(NA,NA,41,36))
> output
  Month Day Ozone Ozone.Prev.1 Ozone.Prev.2
1     5   1    41           NA           NA
2     5   2    36           41           NA
3     5   3    12           36           41
4     5   4    18           12           36

これを行うための素敵でクリーンな方法に関する提案はありますか? よろしくお願いします。

4

1 に答える 1