作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个像这样的数据框:
library(dplyr)
data <- data_frame(
timestamp_utc = c('2015-11-18 03:55:04', '2015-11-18 03:55:08',
'2015-11-18 03:55:10'),
local_tz = c('America/New_York', 'America/Los_Angeles',
'America/Indiana/Indianapolis')
)
local_tz
列中定义的本地时间。但是,
format
和
with_tz
(来自
lubridate
)都只期望一个时区,而不是时区的向量。我正在寻找这样的东西:
mutate(data, timestamp_local = with_tz(timestamp_utc, tzone = local_tz))
最佳答案
首先,请确保您的数据已加载为日期-我必须先将其转换为日期:
data$timestamp_utc <- as.POSIXct(data$timestamp_utc, tz = "UTC")
rowwise
中的
dplyr
函数与
do
结合使用:
library(lubridate)
library(dplyr)
z <- data %>% rowwise() %>%
do(timestamp_local = with_tz(.$timestamp_utc, tzone = .$local_tz))
data$timestamp_local <- z$timestamp_local
data$timestamp_local
[[1]]
[1] "2015-11-17 22:55:04 EST"
[[2]]
[1] "2015-11-17 19:55:08 PST"
[[3]]
[1] "2015-11-17 22:55:10 EST"
关于r - 带时区向量的with_tz,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33848563/
我正在尝试将一系列 UTC 时间转换为给定时区向量的本地时间。 test = tibble(time = c(as_datetime('2019-01-01 00:00:00'),
我是一名优秀的程序员,十分优秀!