R语言 如何将当前为01/01/00的日期列转换为01/01/2000

b0zn9rqh  于 2022-12-20  发布在  其他
关注(0)|答案(2)|浏览(222)

我正在处理一个数据集,其中有一个日期列当前存储为字符,下面是日期的格式:
31/12/00
01/01/01
我想将整列的年份部分从"00"更改为"2000",从"01"更改为"2001",并希望它采用日期格式。
我该怎么做呢?

我试着用下面的方法

if(y2k_clean$Date[7:8] == "00")
  replace(y2k_clean$Date, 7, "2000")

我也尝试过用gsub()来实现这一点,但无法得到我想要的结果。
谢谢你。

ezykj2lf

ezykj2lf1#

您可以先将其转换为date,然后将其转换为您的格式,将%Y作为4位数年份,如下所示:

dates <- c('31/12/00', '01/01/01')
format(as.Date(dates,format='%d/%m/%y'), "%d/%m/%Y")
#> [1] "31/12/2000" "01/01/2001"

创建于2022年12月16日,使用reprex v2.0.2

zujrkrfu

zujrkrfu2#

您可以使用格式:

df <- tibble(Date = c("31/12/00", "01/01/01"))
format(as.Date(df$Date, format="%d/%m/%y"))

相关问题