我尝试了许多方法都无济于事。我有日期(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
... ... ...
我这样做是为了希望在一段时间内平均每月从多个订单中获得的收入。任何帮助或朝着正确方向的推动将不胜感激。
这将以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") ]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句