我有一个日期列,日期如下所示: 19940818 19941215
从中提取年份和月份的正确命令是什么?
答案 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