Rでデータの書き込み(Excel)

こんにちは。namakemonoです。

今回はExcelファイルの書き取りについてです。

Excelファイル(xlsx)の出力

xlsxファイルを出力するには、「xlsx」パッケージの「write.xlsx」、「write.xlsx2」を利用します。

まず、「xlsx」パッケージをインストールします。
Rパッケージのインストール方法はこちら
ちなみに、Javaをインストールしてなかったり、RとJavaのbit数が一致していないとエラーになるそうです。


次に、「xlsx」パッケージをロードします。
060


write.xlsxで指定できるオプションには以下のものがあります。

file 出力ファイル名
sheetname シート名
col.names true:列名を出力する
false:列名を出力しない
row.names true:行番号を表示する
false:行番号を表示しない
showna true:値がない(na)をnaと表示する。
false:値がない(na)を空白で表示する。



今回は以下のデータをxlsxファイルに出力してみましょう。

x
日付 時刻 数値 文字列
1 2014-12-23 2014-12-23 10:46:00 123456789 12345678901234567890123456789
2 2014-12-23 2014-12-23 10:46:00 -123456789 -1.23456789012345678901234567890
3 2014-12-23 2014-12-23 10:46:00 -123456789
4 2014-12-23 2014-12-23 10:46:00 -123456789 文字列
5 2014-12-23 2014-12-23 10:46:00 NA 1.23



では、出力します。



write.xlsx(x,file=”test.xlsx”,row.names=”false”,showNA=”false”)

出力されたファイルが、こちらになります。
NAの部分は空白になり、行番号は出力されていませんね。
063

write.xlsxとwrite.xlsx2の違い

では、write.xlsxとwrite.xlsx2では、出力にどのような違いがあるのでしょうか?
実際に出力してみましょう。
今回も、このデータを利用しようと思います。

x
日付 時刻 数値 文字列
1 2014-12-23 2014-12-23 10:46:00 123456789 12345678901234567890123456789
2 2014-12-23 2014-12-23 10:46:00 -123456789 -1.23456789012345678901234567890
3 2014-12-23 2014-12-23 10:46:00 -123456789
4 2014-12-23 2014-12-23 10:46:00 -123456789 文字列
5 2014-12-23 2014-12-23 10:46:00 NA 1.23



write.xlsxで出力。

write.xlsx(x,file=”test.xlsx”,showNA=”false”)

064



write.xlsx2で出力。

write.xlsx2(x,file=”test2.xlsx”,showNA=”false”)

065



特に差はないように見えますね。
(何か差があったら教えていただきたいです。。。)

最後に

Excelファイルは私たちの身近ですが、バイナリファイルのため扱いが難しい場合があります。
しかし、1度できてしまえば簡単です。
ぜひ試してみましょう!


コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA