dplyr/lubridate mutate_impl错误添加日期时间
问题描述:
使用lubridate
包我想添加秒(为示例的目的)在一个tibble的"POSIXct", "POSIXt"
字段。dplyr/lubridate mutate_impl错误添加日期时间
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))
我得到的错误:
Error in mutate_impl(.data, dots) : 'origin' must be supplied
这是为什么?我很欣赏我可以计算几个小时,但我想知道我做错了什么。
附加点:
-I've试图as.Date,可以得到相同的错误。
-I可以直接添加秒没有问题:tol_lower = Date_time - 2
答
Whyn't使用?
b %>% mutate(tol_lower = Date_time - 2,
tol_upper = Date_time + 30)
如果你想要小时添加到给定的日期,然后简单地使用Date_time + 2*60*60
(即,2个小时内加入Date_time
)。
此外?second
明确表示,x
在second(x)
是“日期时间对象”,但在你的情况,你试图传递一个整数。
希望它有帮助!