Преобразовать столбец в большом наборе данных из UT C в PST в R - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть большой набор данных, df, который я хотел бы преобразовать в столбец Дата в PST. В настоящее время время UT C.

   Date                        ID

   1/7/2020 1:35:08 AM         A

Я хотел бы преобразовать столбец Date из UT C в PST, сохранив при этом другие столбцы.

   Date                        ID

   1/7/2020 5:35:08 PM         A

Вот результат:

  structure(list(Date = structure(1L, .Label = "1/7/2020 1:35:08 AM", class = "factor"), 
  ID = structure(1L, .Label = "A", class = "factor")), class = "data.frame", row.names = c(NA, 
 -1L))

Вот что я пробовал:

  library(lubridate)
  newdata <- as.POSIXct(Sys.Date())

Однако я не уверен, нужно ли мне добавлять формат и какой другой код нужно добавить.

1 Ответ

1 голос
/ 19 февраля 2020

Используя lubridate вы можете сделать:

library(lubridate)
df$Date <- mdy_hms(df$Date)
df$Date <- with_tz(df$Date, tzone = "America/Los_Angeles")
df

#                 Date ID
#1 2020-01-06 17:35:08  A

Или в базе R:

df$Date <- as.POSIXct(df$Date, format = "%m/%d/%Y %I:%M:%S %p", tz = "UTC")
attributes(df$Date)$tzone <- "America/Los_Angeles"
...