私は data.frames を使用していたほとんどすべてに data.table を使用してきました。これは、メモリ内の大きなデータ (数百万行) ではるかに高速であるためです。ただし、適用を使用せずにIDate列に日または月を追加する方法がよくわかりません(非常に遅いです)。
最小限の例:
dates = c("2003-01-01", "2003-02-01", "2003-03-01", "2003-06-01", "2003-12-01",
"2003-04-01", "2003-05-01", "2003-07-01", "2003-09-01", "2003-08-01")
dt = data.table(idate1=as.IDate(dates))
ここで、6 か月先の日付の列を作成するとします。通常、単一の IDate の場合、次のようにします。
seq(dt$idate1[1],by="6 months",length=2)[2]
ただし、 from= の長さは 1 でなければならないため、これは機能しません。
dt[,idate2:=seq(idate1,by="6 months",length=2)[2]]
dt で列 idate2 を作成する効率的な方法はありますか?
どうもありがとう、RR