dplyr/lubridate add date time中的mutate_impl错误

dplyr/lubridate add date time中的mutate_impl错误,r,datetime,dplyr,lubridate,tidyverse,R,Datetime,Dplyr,Lubridate,Tidyverse,使用lubridate包,我想在tibble中的POSIXct、POSIXt字段中添加秒数,以用于示例 b <- structure(list(`"a"` = c("a", "a", "a", "a", "a"), Date_time = structure(c(1506694322, 1506694270, 1506693970, 1506693897, 1506693849), class = c("POSIXct", "POSIXt"), tzone = "")), .Names

使用lubridate包,我想在tibble中的POSIXct、POSIXt字段中添加秒数,以用于示例

b <- structure(list(`"a"` = c("a", "a", "a", "a", "a"), Date_time = structure(c(1506694322, 
1506694270, 1506693970, 1506693897, 1506693849), class = c("POSIXct", 
"POSIXt"), tzone = "")), .Names = c("\"a\"", "Date_time"), class = c("tbl_df", 
"tbl", "data.frame"), row.names = c(NA, -5L))

b %>%
  mutate(tol_lower = Date_time - second(2),
         tol_lower = Date_time + second(30))
为什么会这样?我很感激我能计算小时数,但我想知道我做错了什么

其他要点:

-我尝试了as.Date,它给出了相同的错误

-我可以直接添加秒数而没有问题:tol\u lower=Date\u time-2

为什么不使用这个

b %>% mutate(tol_lower = Date_time - 2,
             tol_upper = Date_time + 30)
如果您想在给定日期上增加小时数,只需使用日期时间+2*60*60,即在日期时间上增加2小时

还有?second清楚地表明,secondx中的x是一个日期时间对象,但在您的例子中,您试图传递一个整数


希望有帮助

这很有效,但可能是您应该更详细地阐述一下
b %>% mutate(tol_lower = Date_time - 2,
             tol_upper = Date_time + 30)