В R, как я могу преобразовать нерегулярные в регулярные временные ряды без NA? - PullRequest
2 голосов
/ 14 сентября 2011

У меня есть нерегулярные временные ряды, с которыми я работаю, и я хотел бы преобразовать их в обычный, но вместо обычного поведения «потеря данных», на которое есть ответы в других вопросах, мне нужно иметь наблюдение за каждымрегулярный интервал будет самым последним наблюдением, независимо от того, как давно это было.Я написал для этого функцию, но с двумя циклами она невероятно медленная.

Например, вместо

> x <- zoo(c(1, 3, 6), c(1981, 1984, 1985))
> as.ts(x)
Time Series:
Start = 1981 
End = 1985 
Frequency = 1 
[1]  1 NA NA  3  6

я бы хотел получить такой результат:

> as.ts(x)
Time Series:
Start = 1981 
End = 1985 
Frequency = 1 
[1]  1 1 1 3 6    

1 Ответ

4 голосов
/ 14 сентября 2011

Вы можете использовать na.locf из пакета зоопарка.

y <- as.ts(x)
y <- na.locf(y)
y
# Time Series:
# Start = 1981 
# End = 1985 
# Frequency = 1 
# [1] 1 1 1 3 6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...