【问题标题】:Abstracting the year from a date column in a dataframe [duplicate]从数据框中的日期列中提取年份[重复]
【发布时间】: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))?

标签: r time


【解决方案1】:

如果您将数据框转换为数据表

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]]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-02
    • 1970-01-01
    • 2016-02-10
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 2016-08-02
    相关资源
    最近更新 更多