在R中添加一年到一个月和一天

时间:2016-11-04 18:27:55

标签: r date

我有一个数据集,其中日期列中的某些条目没有年份,我需要添加2016年:

  • 因此,有些条目会说出这样的话:" 4月11日"
  • 其他参赛作品会说:" 2015年4月11日"

对于那些不包含一年(其中有许多且跨越各种不同日期)的作品,我想补充2016年。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我们可以使用sub为仅包含月和日的元素粘贴2016。匹配一个或多个空格(\\s+),后跟我们在字符串末尾(\\d{2})捕获的两个数字((...))并且将其替换为空格,然后使用捕获组($)的后向引用,后跟空格和\\1

2016

根据OP帖子中的更新,我们还可以使用sub("\\s+(\\d{2})$", " \\1 2016", str1) #[1] "Apr 11 2016" "Apr 11 2015" 转换为'日期'

lubridate

数据

library(lubridate)
as.Date(parse_date_time(str2, c('md', 'dmy')))
#[1] "2016-04-11" "2015-04-11"