Klasy ts i mts odnoszą się do obiektów, które mają zdefiniowany punkt początkowy, punkt końcowy oraz częstotliwość lub okres, i dla których zakłada się, że obserwacje odbywają się w równych odstępach. Domyślną klasą szeregów czasowych dla wektora obserwacji szeregów czasowych jest ts. Dla macierzy współbieżnych obserwacji szeregów czasowych domyślnymi klasami są mts, ts i matrix. Klasę szeregów czasowych można zmienić podczas tworzenia obiektu szeregów czasowych. Obiekty szeregów czasowych można tworzyć z obiektów wektorowych, macierzowych, niektórych obiektów listy i wyrażeń – a także niektórych innych klas obiektów, takich jak współczynnik i data – za pomocą funkcji ts(). Obiekty tablicy trybów dają błąd. Wszystkie tryby atomowe są legalne jako argumenty dla funkcji ts(), z wyjątkiem trybu NULL. Dla obiektów listy, w zależności od zawartości i struktury listy, funkcja ts() utworzy, czasem dziwny, obiekt szeregów czasowych. Jeśli argumentem funkcji ts() jest ramka danych, wówczas ramka danych jest przymuszana do macierzy przez funkcję data.matrix(). Aby dowolny obiekt mógł być użyty jako argument funkcji ts(), pierwszy element obiektu musi być atomowy. W przypadku argumentów macierzowych różne szeregi czasowe przebiegają przez kolumny, a czas płynie wzdłuż wierszy. Funkcja ts() przyjmuje osiem argumentów. Pierwszym argumentem jest obiekt, który ma zostać przekształcony w szereg czasowy. Drugi argument to start i podaje wartość na początek serii. Trzeci argument to koniec i podaje wartość na końcu szeregu. Czwarty argument to częstotliwość, która podaje częstotliwość okresową dla szeregu. Piąty argument to deltat, który jest odwrotnością częstotliwości. Podana jest częstotliwość lub deltat, a nie oba. Szósty argument to ts.eps, który daje dopuszczalną tolerancję dla porównywania częstotliwości między różnymi szeregami czasowymi. Siódmym argumentem jest klasa, która mówi R, jaką klasę przypisać do obiektu szeregu czasowego. Ósmy argument to imiona i nadaje nazwy szeregom czasowym dla macierzy szeregów czasowych. Jeśli nie podano żadnych nazw, R przypisuje nazwy Serii 1, Serii 2 i tak dalej. Drugi, trzeci, czwarty i piąty argument mogą być mylące. R traktuje dane miesięczne lub kwartalne jako szczególny przypadek przy drukowaniu i drukowaniu. Inne rodzaje danych okresowych muszą być traktowane specjalnie. W przypadku danych miesięcznych ustawienie początkowe równe
start = c(‘year’, ‘month number’)
and frequency equal to
frequency = 12
or deltat equal to
deltat = 1/12,
gdzie year jest rokiem początkowym, a month number jest liczbą miesiąca początkowego (1 dla stycznia, 2 dla lutego itd.), przypisuje miesiące i lata do punktów w obiekcie, który jest konwertowany na szereg czasowy. Aby wygenerować miesięczne szeregi czasowe, dołącz end
z end= c („year”, „month number”), gdzie year jest rokiem końcowym, a month number to numer miesiąca końcowego. Funkcja ts () będzie przełączać pierwszy argument do momentu wypełnienia szeregów czasowych. W przypadku danych kwartalnych wykonaj te same kroki, ale użyj częstotliwości czterech. Na przykład:
> d.qua
[,1] [,2]
[1,] 1.53 5.48
[2,] 7.07 3.51
[3,] 5.91 4.10
[4,] 6.89 8.49
[5,] 1.51 5.33
>
> d.qua.ts = ts(d.qua, start=c(2000, 3), frequency=4)
>
> d.qua.ts
Series 1 Series 2
2000 Q3 1.53 5.48
2000 Q4 7.07 3.51
2001 Q1 5.91 4.10
2001 Q2 6.89 8.49
2001 Q3 1.51 5.33
Na bardziej ogólnym poziomie powiedzmy, że istnieją dane dzienne z jednego tygodnia i trzech dni, a tydzień początkowy to numer 32. Niech d.data będą danymi. Następnie szeregi czasowe można utworzyć w następujący sposób:
> d.data
[1] 0.908 -3.311 -0.702 -0.273 0.574 -0.428 -0.834 -0.531 -3.020 -0.060
>
> d.ts = ts(d.data, start=c(32,1), end=c(33, 3), frequency=7)
>
> d.ts
Time Series:
Start = c(32, 1)
End = c(33, 3)
Frequency = 7
[1] 0.908 -3.311 -0.702 -0.273 0.574 -0.428 -0.834 -0.531 -3.020 -0.060
>
> print(d.ts, calendar=T)
p1 p2 p3 p4 p5 p6 p7
32 0.908 -3.311 -0.702 -0.273 0.574 -0.428 -0.834
33 -0.531 -3.020 -0.060
Należy zauważyć, że domyślnym ustawieniem wyświuetlania szeregów czasowych nie są okresy – z wyjątkiem częstotliwości 4 i 12, dla których R zakłada, że dane są miesięczne lub kwartalne. Drukowanie kropek można włączać i wyłączać za pomocą argumentu kalendarza print ().Jeśli jedna liczba zamiast dwóch zostanie użyta dla każdego początku i końca, wówczas tylko liczby (n + i / f) mogą być użyte jako punkty początkowe i końcowe, gdzie n jest liczbą całkowitą pierwszego okresu, f jest częstotliwość oraz i mogą przyjmować wartości całkowite od zera do (f-1). Ilość (n + i / f) należy pobrać do co najmniej pięciu miejsc po przecinku, jeśli wprowadzono ją ręcznie, chyba że argument ts.eps zostanie zmieniony z wartości domyślnej 1.0E-5. Wartość ts. eps jest ustawione w options(). R jest tutaj bardzo wybredny. Funkcja as.ts() próbuje zmusić obiekt do klasy ts. Obiekty, które są wektorowe – lub macierzowe – będą się zmuszać. Tablice nie, funkcje nie, nazwy nie i wywołania nie; wyrażenia i listy będą. Funkcja is.ts() sprawdza, czy obiekt jest klasy ts i zwraca PRAWDA, jeśli tak, a FALSE w przeciwnym razie. Więcej informacji na temat ts(), as.ts() i is.ts() można znaleźć, wprowadzając ?ts po znaku zachęty R.