2016-06-13 5 views
0

Я использую следующий код для преобразования данных в ts формате:Преобразование в данных временных рядов в R

unemployment<-ts(as.vector(t(as.matrix(cleandata1))),start = c(1948,1), end=c(2015,12), frequency=12) 

И я получаю:

 Jan Feb Mar Apr May Jun 
1948 1948.0 3.4 3.8 4.0 3.9 3.5 
1949 4.0 1949.0 4.3 4.7 5.0 5.3 
1950 6.4 6.6 1950.0 6.5 6.4 6.3 
1951 4.2 4.2 4.3 1951.0 3.7 3.4 
1952 3.3 3.5 3.5 3.1 1952.0 3.2 
1953 3.4 3.1 3.0 2.8 2.7 1953.0 
1954 2.6 2.7 2.9 3.1 3.5 4.5...till Dec 2015 

Оригинальный формат данных выглядит следующим образом:

Year Jan Feb Mar Apr May Jun Jul Aug 
1 1948 3.4 3.8 4.0 3.9 3.5 3.6 3.6 3.9 
2 1949 4.3 4.7 5.0 5.3 6.1 6.2 6.7 6.8 
3 1950 6.5 6.4 6.3 5.8 5.5 5.4 5.0 4.5 
4 1951 3.7 3.4 3.4 3.1 3.0 3.2 3.1 3.1 
5 1952 3.2 3.1 2.9 2.9 3.0 3.0 3.2 3.4 
6 1953 2.9 2.6 2.6 2.7 2.5 2.5 2.6 2.7 
7 1954 4.9 5.2 5.7 5.9 5.9 5.6 5.8 6.0 
8 1955 4.9 4.7 4.6 4.7 4.3 4.2 4.0 4.2 
9 1956 4.0 3.9 4.2 4.0 4.3 4.3 4.4 4.1....till Dec 2015 

Может кто-нибудь предложить правильный код?

+0

какой формат имеет свой 'cleandata1'? Когда это вектор, он должен работать. –

+0

попробуйте 'безработица <-ts (as.vector (t (as.matrix (cleandata1 [, 2: ncol (cleandata1)))), start = c (1948,1), end = c (2015,12), частота = 12). Это предполагает, что cleandata1 является фреймом данных, но это должно работать (хотя это не так просто читать). –

+0

'безработица <-ts (as.vector (t (as.matrix (cleandata1 [ , 2: ncol (cleandata1)]))), start = c (1948,1), end = c (2015,12), frequency = 12) 'работает (просто отсутствует скобка после cleandata 1) – Waqas

ответ

0

Кажется, вы читаете исходные/необработанные данные в data.frame, и у него уже есть имена столбцов, соответствующие именам месяцев (январь, февраль и т. Д.) И имена строк, равные годам (1948, ...).

Надеясь, не missings в ваших данных, следующий код должен преобразовать его в формат TS, без каких-либо ошибок:

unemployment <- ts(cleandata1[-1,-1], start=c(1948,1), freq=12)