Maximum/Last data.table 中 POSIXct 列的元素?

Maximum/Last element of POSIXct column in data.table?

我有一个 data.table 一列 POSIXcts。

dt <- data.table(DateTime=seq(from=as.POSIXct("2017-02-01 00:00", tz="Europe/Berlin"), by=3600, length.out = 10), Value=1:10)

我以为我可以使用 max(),但这不起作用。

maxDateTime <- max(dt[, "DateTime"])

而且 'data.table' 包中的 last() 也没有这样做:

maxDateTime <- last(dt[, "DateTime"])

只有 tail() 的方向正确

maxDateTime <- tail(dt[, "DateTime"],1)

但 returns 一个 data.table,我只想有一个值。

这是一个相当简单的问题,但我现在坚持了一段时间,所以我希望在这里得到正确的提示。谢谢!

我们需要使用[[来提取单列

max(dt[["DateTime"]])

对于多列,语法为

dt[, c("DateTime", "Value"), with = FALSE]

或者另一种选择是.

dt[, .(DateTime, Value)]