У меня небольшая проблема, связанная с преобразованием данных во временные ряды.Вот шаги, которые я выполнил.Мои данные варьируются с 21 января 2014 года по 28 февраля 2019 года и состоят из названий цены и даты.
1. Я импортировал данные из Excel с помощью read.csv ().
interest<-read.csv("C:/Users/Kane/interest.csv", stringsAsFactors=F, header=T)
длина данных = 1146
2. Были некоторые пропущенные даты и пропущенные значения,Я применил na.interpolation ().
interest<-na.interpolation(interest$Price)
длина данных становится 1864
3. Я вычислил результаты с использованием diff (log (интереса $ Price))
returns<-diff(log(interest$Price))
4.Я конвертировал возврат во временные ряды.
return.ts<-ts(data=returns,frequency=365,start=c(2014,1), end=c(2019,2))
длина данных стала 1832.
Могу ли я получить объяснение того, почему при преобразовании во временные ряды длина данных резко уменьшилась, и пожалуйста, решение.
Пример моих данных:
> interest
Date Price
1 2014-01-22 3.820000
2 2014-01-23 3.802857
3 2014-01-24 3.785714
4 2014-01-25 3.768571
5 2014-01-26 3.751429
6 2014-01-27 3.734286
> dput(head(interest))
structure(list(Date = structure(c(16092, 16093, 16094, 16095,
16096, 16097), class = "Date"), Price = c(3.82, 3.80285714285714,
3.78571428571429, 3.76857142857143, 3.75142857142857, 3.73428571428571
)), .Names = c("Date", "Price"), row.names = c(NA, 6L), class = "data.frame")
Результаты при преобразовании возврата в ts:
> return1<-ts(Return,frequency=365,start=c(2014,1),end=c(2019,2))
> length(return1)
[1] 1827
> return<-ts(Return,frequency=365,start=c(2014,1),end=c(2018,11))
> length(return)
[1] 1471
> return<-ts(Return,frequency=365,start=c(2014,1),end=c(2018,12))
> length(return)
[1] 1472