2017-10-05 3 views
0

lubridate 패키지를 사용하여 초 단위 (예제의 경우)를 tibble의 "POSIXct", "POSIXt" 필드에 추가하고 싶습니다. 왜이dplyr/lubridate의 mutate_impl 오류가 날짜 시간을 추가합니다.

Error in mutate_impl(.data, dots) : 'origin' must be supplied 

입니다 :

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_lower = Date_time - 2

답변

0

이를 사용 Whyn't?

b %>% mutate(tol_lower = Date_time - 2, 
      tol_upper = Date_time + 30) 

이 경우 당신은 단순히 Date_time + 2*60*60 (Date_time에 추가 즉 2 시간)을 사용하여 주어진 날짜에 시간을 추가 할 수 있습니다.


또한 ?second 명확 second(x)에서 x은 "날짜 - 시간 객체"입니다하지만 경우에 당신은 정수를 통과하려고하는 것을 말한다.

희망이 있습니다.