在R中更改列年份

时间:2015-07-28 19:08:47

标签: r date

我有一个excel文件,在日期栏中显示从2015年1月1日到12月31日。我想将所有15(年)更改为14,以便所有日期看起来像2014年1月1日到12月31日。如何在R中做到这一点?现在我只是使用替换功能手动更改日期。但是还有150000个记录......

2 个答案:

答案 0 :(得分:5)

您可以使用lubridate,只需减去“x”年数即可。

library(lubridate)

# some random 2015 dates
df <- data.frame(dates = mdy("01/13/2015", "02/25/2015"))

# subtract 1 year
df$dates <- with(df, dates - years(1))
df

       dates
1 2014-01-13
2 2014-02-25

答案 1 :(得分:5)

如果您不想转换为&#39;日期&#39;类和保持相同的格式,一个选项是sub。在这里,我们匹配最后两个14的字符,并将其替换为15。

 sub('14$', '15', v1)
 #[1] "1/1/15"   "12/31/15" "1/1/15"  

数据

 v1 <- c('1/1/15', '12/31/15', '1/1/14')