【Rによるデータサイエンス】第2章 データの入出力と編集 データの出力

【Rによるデータサイエンス】第2章 データの入出力と編集 データファイル読み込み」で読み込んだデータを、逆にファイルに出力してみる。

まずは文字型の場合。

> class(GBPJPY240Scan)
[1] "character"

output.txtに出力する。

> write(GBPJPY240Scan,"D:/01_dev/04_DataAnalysis/FX_data/output/out.txt")
> 

縦長になっとる。

Date
Time
Open
Close
High
Low
2009/12/21
0:0
1.6116
1.6159
1.6159
1.6116
2009/12/21
4:0
1.6159
1.613
1.6161
1.6117
2009/12/21
8:0
1.6129
1.6125
1.6156
1.6088
2009/12/21
12:0
1.6124
1.6085
1.6132
1.6075
2009/12/21
16:0
1.6085
1.6059

そこで、ncolumnsオプションを使用して列数を指定する。
今回はDate,Time,Open,Close,High,Lowの6列なので、次のように指定する。

> write(GBPJPY240Scan,"D:/01_dev/04_DataAnalysis/FX_data/output/out.txt",ncolumns=6)

すると整形されて6列で出力される。

Date Time Open Close High Low
2009/12/21 0:0 1.6116 1.6159 1.6159 1.6116
2009/12/21 4:0 1.6159 1.613 1.6161 1.6117
2009/12/21 8:0 1.6129 1.6125 1.6156 1.6088
2009/12/21 12:0 1.6124 1.6085 1.6132 1.6075
2009/12/21 16:0 1.6085 1.6059 1.6088 1.6052
2009/12/21 20:0 1.6058 1.6048 1.6059 1.6027
2009/12/22 0:0 1.6043 1.6055 1.6073 1.6035
2009/12/22 4:0 1.6055 1.605 1.6066 1.6048
2009/12/22 8:0 1.6049 1.601 1.6096 1.5994

次に、データフレーム型の場合。

> class(GBPJPY240)
[1] "data.frame"
> write(GBPJPY240,"D:/01_dev/04_DataAnalysis/FX_data/output/out.txt",ncolumns=6)
 以下にエラー cat(list(...), file, sep, fill, labels, append) : 
   引数 1 (タイプ 'list')'cat' で取り扱えません 

データフレーム型の場合、write関数ではエラーとなる。
データフレーム型の場合、write.tableを使用する。

> write.table(GBPJPY240,"D:/01_dev/04_DataAnalysis/FX_data/output/out.txt")
> 

出力結果は下記となる。

"Date.Time.Open.Close.High.Low"
"1" "2012/12/18,12:0,136.142,135.953,136.213,135.805"
"2" "2012/12/18,16:0,135.946,136.687,136.717,135.946"
"3" "2012/12/18,20:0,136.679,136.821,136.897,136.671"
"4" "2012/12/19,0:0,136.805,137.008,137.181,136.736"
"5" "2012/12/19,4:0,137.006,137.08,137.124,136.933"
"6" "2012/12/19,8:0,137.082,137.386,137.438,137.038"
"7" "2012/12/19,12:0,137.383,137.763,137.838,137.378"
"8" "2012/12/19,16:0,137.764,137.353,137.797,136.989"
"9" "2012/12/19,20:0,137.351,137.094,137.395,137.058"
"10" "2012/12/20,0:0,137.092,136.874,137.12,136.299"
"11" "2012/12/20,4:0,136.876,136.363,137.205,136.212"
"12" "2012/12/20,8:0,136.369,136.536,136.642,136.276"