RからExcelファイルを作る
誰かにデータを渡すとき、どうしてもExcelのお世話になる。
これまではタブ区切りの拡張子を変えて対応していたけど、ファイル数が増えると嫌われる。
write.table(x,file="hoge.xls",sep="\t",col.names=NA) #良く使う、ごまかし構文
みんな考えることは同じなんだろう。
いくつかパッケージがある。
でも、私の環境ではエラーが出て、今ひとつ使い勝手が良くなかった。xlsReadWriteパッケージは見つからないし。
RでExcelのファイルを読む †
http://www.okada.jp.org/RWiki/?R%A4%C7EXCEL%A4%CE%A5%D5%A5%A1%A5%A4%A5%EB%A4%F2%C6%C9%A4%E0
(RODBC,RODBC(ODBCデータベース・アクセス)パッケージ中のオブジェクト一覧を参照) RODBCを使い、ODBC経由でEXCEL(.xls)のデータを読み込みます。
これで日本の多くの統計情報(なぜかEXCELでの提供が多い)が扱えると思います。
でも、最近、検索しなおすと、xlsxパッケージを見つけた。
Excel2007に対応しているらしい(私は使ってないが)。しかも、ワークシートの追加もできる。
xlsx: Read, write, format Excel 2007 and Excel 97/2000/XP/2003 files
CRAN - Package xlsx
Provide R functions to read/write/format Excel 2007 and Excel 97/2000/XP/2003 file formats.
library(xlsx) write.xlsx(x,file="hoge.xlsx",sheetName="hogesheet")
write.xlsxがとても便利と気がついた。今のところ、全角にも対応しているようで、これからは重宝しそう。
WriteXLSパッケージなるものもあるようだが、Excel2003対応らしい。まわりにExcel2007が増えてきたので、あえて試してないけど。
WriteXLS: Cross-platform Perl based R function to create Excel 2003 (XLS) files
CRAN - Package WriteXLS
Cross-platform Perl based R function to create Excel 2003 (XLS) files from one or more data frames. Each data frame will be written to a separate named worksheet in the Excel spreadsheet. The worksheet name will be the name of the data frame it contains or can be specified by the user.