ファイル出力でちょっとハマった
データフレームをファイルに出力する際にちょっとだけハマってしまった。
今までは前に作ったRコードをコピペしていたので無意識に、write.csv 関数を使っていた。それに気づかず、write.table 関数を書いていた。結果を見るとどうもおかしい。コンソールから help(write.table) でマニュアルを見ながら引数を加えた。結果こんな感じで個人的によく利用する形式になった。こんな時にしかマニュアル見ないので今のうちにメモ。
write.table(d, "write.txt", quote=F, sep="\t", row.names=F, col.names=T)
利用できる引数はこちら
quote | TRUEの場合は二重引用符で囲まれる |
---|---|
sep | デリミタを指定 タブは"\t" |
row.names | 行ヘッダーの出力有無 TRUEで出力 |
col.name | 列ヘッダーの出力有無 TRUEで出力 |
na | 欠損値に対する文字列 |
eol | 行末の改行コード |
dec | 小数点に使用する文字 |
append | TRUEは追記される FALSEは上書き |
qmethod | 文字列にある二重引用符に対処する方法を指定する文字列 |
fileEncoding | エンコーディングを指定 |
ファイル名 | "" 空白にするとコンソールに出力 |
以外に、ファイル名出力で空白にしとくとコンソールに出力されるので出力前の確認に便利かも。
ちなみに、今までよく使っていたcsv出力はこんな感じ。
write.csv(d, "write.csv") write.csv(d, "write.csv", quote=F, row.names=F)
write.csv2 という関数もあるけど何が違うのだろう。。。
MASSパッケージには、write.matrix 関数もあるみたい。