使用 lubridate 更改 tibble 中的 tz

Change tz in tibble using lubridate

我从 library(nycflights13):

获得了类似下面的小标题
   arr_time             dep_tz            arr_tz             
   <dttm>               <chr>             <chr>              
 1 2013-01-01 03:30:00  America/New_York  America/Chicago    
 2 2013-01-01 03:50:00  America/New_York  America/Chicago    
 3 2013-01-01 04:23:00  America/New_York  America/New_York   
 4 2013-01-01 05:04:00  America/New_York  America/Puerto_Rico
 5 2013-01-01 03:12:00  America/New_York  America/New_York  
 ...with 328,053 more rows

我想将 tzonearr_time 更改为 arr_tz 中指示的那个。

我一直在测试 lubridate 中的函数 with_tz() 但没有成功。

有什么帮助吗?提前致谢,

阿尔贝托。

我们可以使用map2

library(dplyr)
library(purrr)
library(lubridate)
df1 %>%
     mutate(arr_time = map2(arr_time, arr_tz, ~ with_tz(.x, tzone = .y)))