【发布时间】:2015-07-07 16:48:03
【问题描述】:
我有一个带有日期列的数据框
date
2008-01-01
2008-01-02
2008-01-03
2008-01-04
如何创建一个只包含这些日期的年份的新列?
【问题讨论】:
-
as.numeric(substr(date,1,4))?
我有一个带有日期列的数据框
date
2008-01-01
2008-01-02
2008-01-03
2008-01-04
如何创建一个只包含这些日期的年份的新列?
【问题讨论】:
as.numeric(substr(date,1,4))?
如果您将数据框转换为数据表
df <- data.table(date = as.Date(c('2008-01-01',
'2008-01-02',
'2008-01-03',
'2008-01-04')))
你可以使用它的不错的赋值,并使用 stringr 包来获取年份
library(stringr)
df[,year := str_match(date, '[0-9]{4}')[,1]]
【讨论】: