Как изменить значение даты в R? - PullRequest
0 голосов
/ 22 января 2019

У меня есть этот фрейм данных, который я импортировал в 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.

Не могли бы вы сказать мне, как это сделать, если это вообще возможно?

1 Ответ

0 голосов
/ 22 января 2019

Это будет сделано (в 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...