Hatena::ブログ(Diary)

日々のつれづれ、良かった探し

2011-04-09

RからExcelファイルを作る

誰かにデータを渡すとき、どうしてもExcelのお世話になる。
これまではタブ区切りの拡張子を変えて対応していたけど、ファイル数が増えると嫌われる。

write.table(x,file="hoge.xls",sep="\t",col.names=NA)
#良く使う、ごまかし構文

みんな考えることは同じなんだろう。
いくつかパッケージがある。
でも、私の環境ではエラーが出て、今ひとつ使い勝手が良くなかった。xlsReadWriteパッケージは見つからないし。

RでExcelのファイルを読む †
(RODBC,RODBC(ODBCデータベース・アクセス)パッケージ中のオブジェクト一覧を参照) RODBCを使い、ODBC経由でEXCEL(.xls)のデータを読み込みます。
これで日本の多くの統計情報(なぜかEXCELでの提供が多い)が扱えると思います。

RでEXCELのファイルを読む - RjpWiki

でも、最近、検索しなおすと、xlsxパッケージを見つけた。
Excel2007に対応しているらしい(私は使ってないが)。しかも、ワークシートの追加もできる。

xlsx: Read, write, format Excel 2007 and Excel 97/2000/XP/2003 files
Provide R functions to read/write/format Excel 2007 and Excel 97/2000/XP/2003 file formats.

CRAN - Package xlsx
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
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.

CRAN - Package WriteXLS

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証