1
/dseconds()
을 as.numeric
이상으로 사용해야하는 이유가 있습니까? 후자가 좀 더 빠를 것 같습니다. 둘 다 같은 결과를줍니다. '주기'대`as.numeric`
> as.numeric(lubridate::ymd_hms("2015-12-31 23:59:59 UTC") - lubridate::ymd_hms("2015-01-01 00:00:00 UTC"), units = "secs")
[1] 31535999
> interval(lubridate::ymd_hms("2015-01-01 00:00:00 UTC"), lubridate::ymd_hms("2015-12-31 23:59:59 UTC"))/dseconds(1)
[1] 31535999
과 마이크로 벤치 마크 테스트 :
summary(microbenchmark::microbenchmark(
as.numeric(lubridate::ymd_hms("2016-12-31 23:59:59 UTC") - lubridate::ymd_hms("2016-01-01 00:00:00 UTC"), units = "secs"),
interval(lubridate::ymd_hms("2016-01-01 00:00:00 UTC"), lubridate::ymd_hms("2016-12-31 23:59:59 UTC"))/dseconds(1),
times = 100L, unit = "ms"))
이
min lq mean median uq max neval
as.numeric 3.095075 3.161979 3.320435 3.225082 3.293127 5.634390 100
/dseconds(1) 3.940120 4.067465 4.209389 4.163069 4.259054 6.072688 100
내가 거기에 생각을주는가에 관한 더 큰 차이가 기본적으로 없습니다 추가 기능 interval/dseconds()
사실, 귀하의 경우에는, 당신은 'as.numeric'을 체크 할 수있을 것입니다. 'interval'은 표준 차이를 덜 계산할 필요가있는 경우에 유용합니다 (예 : quarter) –
@Eric Lecoutre :'difftime' 문서'as.numeric'에서''secs ","mins ","hours ","일 ","주 ". '기간'은'dweeks, ddays, dminutes, dseconds'입니다. 그럼 꽤 똑같은가요? 'as.numeric'은 더 많이 보입니다. – Christoph