2016-11-14 13 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'オブジェクトは変換プロセス中にrownamesを削除します。私はあなたが最初にそこにいかにそれらを持っているかについてもわからない。 @ user31264には、オブジェクトを生成するために使用したコードの説明があります。 – thelatemail

答えて

0

あなたは多変量時系列を持ち、各列は1ヶ月です。おそらく単変量時系列が必要なので、まずデータフレームを数値ベクトルに変換する必要があります。 deathsがあなたの元data.frameの場合は、次のコードは、それを変換する必要があります

deaths.ts <- ts(c(t(deaths)), frequency=12) 
関連する問題