从R中的日期提取月份和年份
我试过很多方法,但都没有用。我有一个日期(YYYY-MM-DD)的数据,我试图只获取月份和年份的数据,例如:MM-yyy或yyy-MM 最后,我希望它看起来像这样:从R中的日期提取月份和年份,r,date,R,Date,我试过很多方法,但都没有用。我有一个日期(YYYY-MM-DD)的数据,我试图只获取月份和年份的数据,例如:MM-yyy或yyy-MM 最后,我希望它看起来像这样: ID Date Month_Yr 1 2004-02-06 2004-02 2 2006-03-14 2006-03 3 2007-07-16 2007-07 ... ... ... 我这样做是希望在一段时间内,通过大量订单,在一个月内平均赚取利润。任
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") )
使用子字符串
d = "2004-02-06"
substr(d,0,7)
>"2004-02"
下面是另一个解决方案,它使用一个专门用于在R中处理日期和时间的包:
库(tidyverse)
图书馆(lubridate)
(df#A tibble:3 x 2
#>身份证日期
#>
#> 1 1 2004-02-06
#> 2 2 2006-03-14
#> 3 3 2007-07-16
df%>%
变异(
日期=ymd(日期),
月份年=格式ISO8601(日期,精度=“ym”)
)
#>#tibble:3 x 3
#>ID日期月份\年
#>
#> 1 1 2004-02-06 2004-02
#> 2 2 2006-03-14 2006-03
#> 3 3 2007-07-16 2007-07
由(v0.3.0)数据创建于2020-09-01。table包在不久前引入了
IDate
类和zoo
-类包函数,用于检索月、日等(选中?IDate
)。因此,您现在可以通过以下方式提取所需信息:
require(data.table)
dfzoopackage具有as的功能。yearmon
可以帮助转换
require(zoo)
df$ym<-as.yearmon(df$date, "%Y %m")
require(动物园)
df$YM可能重复的可能重复的
d = "2004-02-06"
substr(d,0,7)
>"2004-02"
require(zoo)
df$ym<-as.yearmon(df$date, "%Y %m")