mutate_impl dplyr/lubridate 添加日期时间时出错
mutate_impl error in dplyr/lubridate add date time
使用 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))
我收到错误:
Error in mutate_impl(.data, dots) : 'origin' must be supplied
这是为什么?我很感激我可以计算小时数,但我想知道我做错了什么。
加分:
-我试过as.Date,它给出了同样的错误。
-我可以直接加秒没有问题:tol_lower = Date_time - 2
为什么不用这个?
b %>% mutate(tol_lower = Date_time - 2,
tol_upper = Date_time + 30)
如果您想在给定日期上增加小时数,则只需使用 Date_time + 2*60*60
(即在 Date_time
上增加 2 小时)。
另外 ?second
清楚地说 second(x)
中的 x
是 "date-time object" 但在你的情况下你试图传递一个整数。
希望对您有所帮助!
使用 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))
我收到错误:
Error in mutate_impl(.data, dots) : 'origin' must be supplied
这是为什么?我很感激我可以计算小时数,但我想知道我做错了什么。
加分:
-我试过as.Date,它给出了同样的错误。
-我可以直接加秒没有问题:tol_lower = Date_time - 2
为什么不用这个?
b %>% mutate(tol_lower = Date_time - 2,
tol_upper = Date_time + 30)
如果您想在给定日期上增加小时数,则只需使用 Date_time + 2*60*60
(即在 Date_time
上增加 2 小时)。
另外 ?second
清楚地说 second(x)
中的 x
是 "date-time object" 但在你的情况下你试图传递一个整数。
希望对您有所帮助!