Выбор последних n элементов временного ряда

Я хочу выбрать последние n элементов временного ряда. Я могу использовать оператор [, но при этом я теряю атрибуты временного ряда данных:

data <- ts(1:10, frequency = 4, start = c(1959, 2))
data[(length(data)-4):length(data)] 

Я написал функцию-обертку для повторного применения атрибутов временного ряда, но мне интересно, есть ли более элегантный способ сделать это?

lastN <- function(data,n) {
    out <- data[(length(data)-n+1):length(data)] 
    ts(out, end=end(data), frequency=frequency(data))
}
data
lastN(data,5)

Почему оператор [ не возвращает объект временного ряда?

8
задан Zach 11 October 2011 в 18:26
поделиться