R言語 関数(MNO)

matplot

 matplot()関数は折れ線グラフを作る。

x <- 1:5
matplot(x,type="l")

oresen.jpeg
 typeで線の種類を指定する。

 "l"は実線。

matrix

 matrix()関数は行列を作る。

matrix(1:4,nrow=2,ncol=2)
[,1] [,2]
[1,] 1 3
[2,] 2 4

 nrowは行数を、ncolは列数を指定する。

merge

 merge()関数は日付に基づいて各データを統合する。

getSymbols("^GSPC",from="1998-01-01")
[1] "GSPC"
Warning message:
In download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m, :
downloaded length 244149 != reported length 200

getSymbols("^FTSE",from="1998-01-01")
[1] "FTSE"
Warning message:
In download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m, :
downloaded length 238736 != reported length 200

x <- merge(GSPC,FTSE)
head(x)

GSPC.Open GSPC.High GSPC.Low GSPC.Close GSPC.Volume GSPC.Adjusted FTSE.Open FTSE.High FTSE.Low FTSE.Close
1998-01-02 970.43 975.04 965.73 975.04 366730000 975.04 5136.0 5203.8 5136.0 5193.5
1998-01-05 975.04 982.63 969.00 977.07 628070000 977.07 5191.5 5262.5 5182.8 5262.5
1998-01-06 977.07 977.07 962.68 966.58 618360000 966.58 5258.5 5271.4 5220.8 5264.4
1998-01-07 966.58 966.58 952.67 964.00 667390000 964.00 5246.2 5265.6 5218.2 5224.1
1998-01-08 964.00 964.00 955.04 956.05 652140000 956.05 5232.1 5296.4 5220.0 5237.1
1998-01-09 956.05 956.05 921.72 927.69 746420000 927.69 5230.1 5230.1 5125.4 5138.3
FTSE.Volume FTSE.Adjusted
1998-01-02 0 5193.5
1998-01-05 0 5262.5
1998-01-06 0 5264.4
1998-01-07 0 5224.1
1998-01-08 0 5237.1
1998-01-09 0 5138.3

na.locf

 na.locf()関数で「NA」をその前のデータに置き換える。

getSymbols("^GSPC",from="1998-01-01")
[1] "GSPC"
Warning message:
In download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m, :
downloaded length 244149 != reported length 200

getSymbols("^FTSE",from="1998-01-01")
[1] "FTSE"
Warning message:
In download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m, :
downloaded length 238736 != reported length 200

x <- merge(GSPC,FTSE)
window(x,start=as.Date("2013-07-01"),end=as.Date("2013-07-05"))

GSPC.Open GSPC.High GSPC.Low GSPC.Close GSPC.Volume GSPC.Adjusted FTSE.Open FTSE.High FTSE.Low FTSE.Close
2013-07-01 1609.78 1626.61 1609.78 1614.96 3104690000 1614.96 6215.5 6317.0 6215.4 6307.8
2013-07-02 1614.29 1624.26 1606.77 1614.08 3317130000 1614.08 6307.8 6314.1 6266.5 6303.9
2013-07-03 1611.48 1618.97 1604.57 1615.41 1966050000 1615.41 6303.9 6303.9 6185.2 6229.9
2013-07-04 NA NA NA NA NA NA 6229.9 6431.4 6229.9 6421.7
2013-07-05 1618.65 1632.07 1614.71 1631.89 2634140000 1631.89 6421.7 6498.6 6364.4 6375.5
FTSE.Volume FTSE.Adjusted
2013-07-01 657027000 6307.8
2013-07-02 560698800 6303.9
2013-07-03 663008600 6229.9
2013-07-04 824171600 6421.7
2013-07-05 725870000 6375.5
x <- na.locf(x)
window(x,start=as.Date("2013-07-01"),end=as.Date("2013-07-05"))

GSPC.Open GSPC.High GSPC.Low GSPC.Close GSPC.Volume GSPC.Adjusted FTSE.Open FTSE.High FTSE.Low FTSE.Close
2013-07-01 1609.78 1626.61 1609.78 1614.96 3104690000 1614.96 6215.5 6317.0 6215.4 6307.8
2013-07-02 1614.29 1624.26 1606.77 1614.08 3317130000 1614.08 6307.8 6314.1 6266.5 6303.9
2013-07-03 1611.48 1618.97 1604.57 1615.41 1966050000 1615.41 6303.9 6303.9 6185.2 6229.9
2013-07-04 1611.48 1618.97 1604.57 1615.41 1966050000 1615.41 6229.9 6431.4 6229.9 6421.7
2013-07-05 1618.65 1632.07 1614.71 1631.89 2634140000 1631.89 6421.7 6498.6 6364.4 6375.5
FTSE.Volume FTSE.Adjusted
2013-07-01 657027000 6307.8
2013-07-02 560698800 6303.9
2013-07-03 663008600 6229.9
2013-07-04 824171600 6421.7
2013-07-05 725870000 6375.5

 GSPCはニューヨーク市場、FTSEはロンドン市場で祝日が一致しないため、上の例のように米国の独立記念日の7月4日はロンドン市場では取り引きが行われるが、ニューヨーク市場は休みとなる。

 このようにある日付で一方ではデータがあり、もう一方ではデータがないものをmerge()関数で統合すると、データがなかったほうは「NA」でデータを埋める。

 データが「NA」では不都合な場合、na.locf()関数で1つ前のデータを代わりにコピーして上書きする。

na.omit

 na.omit()関数は「NA」を含む行を削除する。

z <- data.frame(x=c(1,2),y=c(NA,4))
z

x y
1 1 NA
2 2 4
na.omit(z)
x y
2 2 4

コメントの投稿

非公開コメント

プロフィール

Author:fxst24
自分用のノートとして作っていますが、同学の方々の参考になれば幸いです。
記事はことわりなく修正、削除、非公開にすることがあります。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
QRコード
QR