2012-03-06 1 views
1

Я столкнулся с каким-то странным поведением класса ts относительно механизмов хранения стартовых и конечных марок времени. Пример:ts class - преобразование временных меток в номера

> K <- ts(c(1:10), start=0., end=1., deltat=0.1) 
> start(K); end(K) 
[1] 0 1 
[1] 1 1 

Я получаю начальную и конечную даты как единицы естественного времени, как описано в разделе «ts. Иногда я получаю штампы времени в виде отдельных номеров:

> K <- ts(c(1:10), start=0.123, end=1.123, deltat=0.1) 
> start(K); end(K) 
[1] 0.123 
[1] 1.123 

Есть ли способ заставить ts хранить даты в виде чисел, а не как 2-векторы? Или, альтернативно, существует надежный метод преобразования 2-векторного представления в число. Я хочу, чтобы иметь возможность retrive t0 и t1 из K определяется как

K <- ts(c(1:n), start=t0, end=t1, deltat=dt) 

ответ

1

ч.л.. Он не хранит ничего как 2-вектора - он только представляет его таким образом, как значения start и end. tsp(K)[1] и tsp(K)[2] даст начало и конец так, как вы хотите. См. ?tsp.

зоопарк. Другим подходом будет:

library(zoo) 
start(as.zoo(K)) 
end(as.zoo(K)) 
+0

Отлично работает! Благодаря! –