df <- data.frame(id=c(1, 2, 3),
interval=c(
new_interval(ymd("2001-01-01"), ymd("2002-01-01")),
new_interval(ymd("2001-01-01"), ymd("2004-01-01")),
new_interval(ymd("2001-02-01"), ymd("2002-01-01"))
))
df
# id interval
# 1 1 2001-01-01 UTC--2002-01-01 UTC
# 2 2 2001-01-01 UTC--2004-01-01 UTC
# 3 3 2001-02-01 UTC--2002-01-01 UTC
lubridate::union(lubridate::union(df$interval[1], df$interval[2]),
df$interval[3])
# [1] 2001-01-01 UTC--2004-01-01 UTC
這是正確的結果。
但是爲什麼lubridate::union
不適用於Reduce
?
Reduce(lubridate::union, df$interval)
# [1] 31536000 94608000 28857600
間隔對象似乎被轉換爲數字太兒子(在應用union
之前)。
這將是巨大的,任何'lubridate'包的mantainers的可以提高它使用'Reduce'功能允許。我註冊了一個新問題:https://github.com/hadley/lubridate/issues/348 – user3808394
僅供將來參考。如果您在問題仍未解決的情況下打開github問題,請在此問題中記下它,以便人們很容易意識到這一點。我回答了這個問題,但沒有看到你的github問題的鏈接,這個問題在我提交答案之前已經關閉了。乾杯。 –