2017-02-17 8 views
-1

У меня есть таблица данных с одним столбцом POSIXcts.Максимальный/последний элемент столбца POSIXct в data.table?

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

Ditch цитаты и то все ваши попытки будут работать –

ответ

1

Нам нужно использовать [[ для извлечения одного столбца

max(dt[["DateTime"]]) 

Для нескольких столбцов, синтаксис

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

Или другой вариант .

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

Спасибо. Первый вариант полностью это делает! – schluk5

+1

или 'max (df $ DateTime)' – mtoto

Смежные вопросы