2016-11-14 5 views
0

У меня есть фрейм данных, который я преобразовал в объект ts, и, хотя он сохранил имена столбцов, по какой-то причине вместо этого заменил имена ростов.Как переименовать строку для объекта временного ряда в R

действительно странно, что когда я row.names(deaths.ts) я получаю:

[1] "1980" "1981" "1982" "1983" "1984" "1985" "1986" "1987" "1988" "1989" "1990" 
[12] "1991" "1992" "1993" "1994" "1995" "1996" "1997" "1998" 

, но на самом деле пытается просмотреть результат дает:

Time Series: 
Start = 1 
End = 19 
Frequency = 1 
    Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 
1 1.22 1.37 1.24 1.40 1.47 1.45 1.56 1.51 1.36 1.47 1.44 1.39 
2 1.39 1.28 1.26 1.43 1.47 1.54 1.41 1.33 1.38 1.30 1.28 1.35 
3 1.20 1.21 1.18 1.36 1.30 1.34 1.25 1.28 1.23 1.21 1.13 1.25 
4 1.04 1.21 1.14 1.14 1.13 1.27 1.37 1.10 1.18 1.00 1.22 1.25 
5 1.08 1.21 1.20 1.15 1.16 1.25 1.26 1.34 1.30 1.09 1.17 1.24 
6 1.25 1.25 1.19 1.25 1.05 1.27 1.27 1.11 1.19 1.15 1.25 1.29 
7 1.11 1.28 1.25 1.26 1.19 1.28 1.38 1.42 1.38 1.20 1.09 1.13 
8 1.11 1.30 1.30 1.10 1.24 1.21 1.36 1.21 1.11 1.06 1.26 1.29 
9 1.05 1.22 1.29 1.34 1.18 1.35 1.36 1.25 1.19 1.11 1.22 1.37 
10 1.20 1.28 1.16 1.26 1.26 1.40 1.27 1.26 1.27 1.25 1.27 1.31 
11 1.13 1.38 1.23 1.45 1.33 1.58 1.52 1.41 1.40 1.21 1.13 1.26 
12 1.13 1.24 1.33 1.44 1.58 1.45 1.54 1.50 1.43 1.29 1.27 1.36 
13 1.29 1.22 1.37 1.46 1.47 1.51 1.52 1.34 1.31 1.47 1.29 1.38 
14 1.18 1.38 1.42 1.53 1.47 1.65 1.51 1.43 1.55 1.37 1.38 1.40 
15 1.35 1.34 1.28 1.31 1.32 1.38 1.45 1.35 1.43 1.26 1.26 1.22 
16 1.11 1.17 1.20 1.19 1.22 1.37 1.46 1.29 1.38 1.23 1.09 1.15 
17 1.03 0.97 1.04 1.07 1.05 1.18 0.99 1.14 0.93 0.98 0.95 1.02 
18 0.93 1.03 0.90 0.95 0.89 1.10 1.01 0.95 1.07 0.89 0.90 0.97 
19 0.79 0.79 0.86 0.89 0.78 0.78 0.97 0.70 0.80 0.78 0.81 0.81 

Так имеет правильные имена строк в там , но вместо этого показывает признаки. Почему это должно быть? Означает ли это, что что-то не так с тем, как я преобразовал исходный фрейм данных в ts?

+0

Сохраните объект через dput и написать в своем сообщении, так что любой пользователь сможет воспроизвести его. – user31264

+0

Попробуйте 'print.default (deaths.ts)' - насколько я могу судить, объекты ts' бросают роуны во время процесса преобразования. Я не уверен, как вы их доставили в первую очередь. Как отмечает @ user31264, некоторое описание кода, которое вы использовали для создания объекта, было бы неплохо. – thelatemail

ответ

0

У вас есть многомерный временной ряд, каждый столбец которого составляет один месяц. Предположительно, вам нужен одномерный временной ряд, поэтому вам сначала нужно преобразовать свой кадр данных в числовой вектор. Если deaths ваш оригинальный data.frame, то следующий код должен преобразовать его:

deaths.ts <- ts(c(t(deaths)), frequency=12) 
Смежные вопросы