役に立たない方法をいくつか試しました。日付(YYYY-MM-DD)に関するデータがあり、MM-YYYYやYYYY-MMなど、月と年だけで取得しようとしています。
最終的には、次のようになりたいと思います。
ID Date Month_Yr
1 2004-02-06 2004-02
2 2006-03-14 2006-03
3 2007-07-16 2007-07
... ... ...
私はこれを、一定の期間にわたって、多くの注文から1か月で平均して稼いだお金をプロットすることを期待して行っています。任意のヘルプ、または正しい方向へのプッシュは大歓迎です。
これにより、data.frame
に指定した形式で新しい列が追加されます。
df$Month_Yr <- format(as.Date(df$Date), "%Y-%m")
df
#> ID Date Month_Yr
#> 1 1 2004-02-06 2004-02
#> 2 2 2006-03-14 2006-03
#> 3 3 2007-07-16 2007-07
# your data sample
df <- data.frame( ID=1:3,Date = c("2004-02-06" , "2006-03-14" , "2007-07-16") )
簡単な例:
dates <- "2004-02-06"
format(as.Date(dates), "%Y-%m")
> "2004-02"
サイドノート:大きなデータセットを使用している場合、data.table
アプローチは非常に高速です。
library(data.table)
setDT(df)[, Month_Yr := format(as.Date(Date), "%Y-%m") ]
部分文字列を使用しますか?
d = "2004-02-06"
substr(d,0,7)
>"2004-02"