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