如何更改 R 中的日期值?

How to change date value in R?

我有这个数据框,我在 R 中导入了时间,它自动添加了日期,格式如下:

 horidat$CORD4
 [1] "1899-12-31 06:25:00 UTC" "1899-12-31 06:45:00 UTC" "1899-12-31 07:00:00 UTC" "1899-12-31 07:15:00 UTC"
 [5] "1899-12-31 07:30:00 UTC" "1899-12-31 07:45:00 UTC" "1899-12-31 07:57:00 UTC" "1899-12-31 08:09:00 UTC"
 [9] "1899-12-31 08:21:00 UTC" "1899-12-31 08:32:00 UTC" "1899-12-31 08:43:00 UTC" "1899-12-31 08:54:00 UTC"

我只想将日期 1899-12-31 更改为另一个日期,例如 2010-01-25。它们采用 POSIXct 格式。

如果可能的话,你能告诉我怎么做吗?

这样就可以了(在 base R

paste('2010-01-25', format(as.POSIXct(horidat$CORD4), '%T'))
# [1] "2010-01-25 06:25:00" "2010-01-25 06:45:00"

# or with (local) time zone
paste('2010-01-25', format(as.POSIXct(horidat$CORD4), '%T %Z')) # or %z for digits
# [1] "2010-01-25 06:25:00 CET" "2010-01-25 06:45:00 CET" # (I'm in a different time zone)

# or keeping the class POSIXct
as.POSIXct(paste('2010-01-25', format(as.POSIXct(horidat$CORD4), '%T')))
# [1] "2010-01-25 06:25:00 CET" "2010-01-25 06:45:00 CET"

与数据

horidat <- data.frame(CORD4 = c('1899-12-31 06:25:00 UTC','1899-12-31 06:45:00 UTC'), 
                      stringsAsFactors = FALSE)