2017-02-17 48 views
-1

我有一列的POSIXcts data.table。data.table中POSIXct列的最大/最后一个元素?

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' 包没有这样做:

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

只有尾巴()在正确的方向

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

,但回报是怎么回事一个data.table,我只想要一个单一的值。

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

+1

沟的报价和那么你所有的尝试将工作 –

回答

1

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

max(dt[["DateTime"]]) 

对于多列,语法是

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

或者另一种选择是.

dt[, .(DateTime, Value)] 
+1

谢谢。第一个选择是完全做到这一点! – schluk5

+1

或'max(df $ DateTime)' – mtoto