从R中的日期列获取年份和月份

时间:2014-11-22 23:22:12

标签: r

我有一个日期列,日期如下所示: 19940818 19941215

从中提取年份和月份的正确命令是什么?

2 个答案:

答案 0 :(得分:2)

如果你的数据是这样的话。

(df <- data.frame(date = c("19940818", "19941215")))
#      date
#1 19940818
#2 19941215

要添加两列,一个用于月份,一个用于一年,您可以

within(df, {
    year <- substr(date, 1, 4)
    month <- substr(date, 5, 6)
})
#       date month year
# 1 19940818    08 1994
# 2 19941215    12 1994

我不需要在此处转换为Date课程,因为你想要的只是日期列的子字符串。

答案 1 :(得分:1)

另一种选择是使用extract中的tidyr。使用@Richard Scriven的帖子中的df

library(tidyr)
extract(df, date, c('year', 'month'), '(.{4})(.{2}).*', remove=FALSE)
#      date year month
#1 19940818 1994    08
#2 19941215 1994    12