【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"