- 追加された行はこの色です。
- 削除された行はこの色です。
[[radvance]]
*時系列データの作成 [#b0e38f57]
時系列データには「観測時点」に関するデータがつきものです。例えば年次データだと「1998年」「1999年」といった年がそれです。もとの経済データには当然、何年のデータであるかが記されています。
基本的にRの時系列処理では、観測時点のデータがExcelデータに書き込んであっても、それは使いません。スクリプトの中に、それが何年から何年までのデータであるかを書きます。
ここでは[[Rサンプル2のデータ]]に掲げたsample3.csvを読ませて、時系列データだと解釈させる方法を書きます。より詳しい解説については、[[zooパッケージの解説文書(英語)>http://cran.r-project.org/web/packages/zoo/zoo.pdf]]および[[クイックリファレンス>http://cran.r-project.org/web/packages/zoo/vignettes/zoo-quickref.pdf]]を参照してください。
ここでは[[Rサンプル2のデータ]]に掲げたsample3.csvを読ませて、時系列データだと解釈させる方法を書きます。x1、x2、yの3つの変数についての観測値6組が入っているのがわかりますね。
次のスクリプトを見てください。
dset <- read.csv("d/sample3.csv", header=TRUE)
dset2 = ts(dset, frequency = 4, start = c(1980,2))
dset2
dset3 = ts(dset, frequency = 1, start = 1980)
dset3
dsetは3つの変数x1、x2、yの観測値6組全体に1行目でつけた名前です。
dset2 = ts(dset, frequency = 4, start = c(1980,2))
は、頻度4の時系列、つまり四半期データであることを示します。start = c(1980,2)は、1980年の第2四半期(4-6月)からデータが始まることを指示しています。時系列情報を与えたのでdset2という別の名前をつけていますが、同じ名前でもかまいません。
dset3 = ts(dset, frequency = 1, start = 1980)
は、年次データを扱う例です。startのあとのcや括弧は不要です。もし月次データなら、frequency=12にして、dset2と同様に始まりの月を指定してやればいいのです。
実行させると、こんな結果が出るはずです。「dset2」「dset3」とだけ書いてある行は、中身を表示しろ、という指示です。
> dset <- read.csv("d/sample3.csv", header=TRUE)
> dset2 = ts(dset, frequency = 4, start = c(1980,2))
> dset2
x1 x2 y
1980 Q2 1.5 1.00 -3.2
1980 Q3 2.3 3.90 2.0
1980 Q4 3.8 8.60 2.2
1981 Q1 4.2 15.25 6.3
1981 Q2 5.6 28.60 5.8
1981 Q3 6.3 32.68 12.5
> dset3 = ts(dset, frequency = 1, start = 1980)
> dset3
Time Series:
Start = 1980
End = 1985
Frequency = 1
x1 x2 y
1980 1.5 1.00 -3.2
1981 2.3 3.90 2.0
1982 3.8 8.60 2.2
1983 4.2 15.25 6.3
1984 5.6 28.60 5.8
1985 6.3 32.68 12.5
>
より詳しい解説については、[[zooパッケージの解説文書(英語)>http://cran.r-project.org/web/packages/zoo/zoo.pdf]]および[[クイックリファレンス>http://cran.r-project.org/web/packages/zoo/vignettes/zoo-quickref.pdf]]を参照してください。
*でもExcelデータに年号はやっぱり書いておこう [#l4e998cd]
読み込んでもどうせ使わないのですが、やはり年次や月の入った列はExcelデータに残しておいて、ムダでもRに読み込ませることをお勧めします。もう使わないと思ったデータセットでも、あとで間違いが見つかったり、似たような分析に再利用したくなったりして、いつからいつまでのデータだかわからないと困ることになるからです。データとスクリプトが同じところにあればいいんですが、時間が経つと片方しか見つからないこともよくあるので。
*attachとdetachの復習 [#h2e73279]
この例は「読み込んで表示しておしまい」ですが、これから分析をするときは「どのデータセットについて作業をしているか」わからないと困ります。データセットを選ぶのがattach、他をattachする前に、いま選んでいるデータセットを切り離すのがdetachです。スクリプトを何本も連続して動かすと、detachが済んでいないのにattachするとエラーが出ることがあります。