データの体裁を整えRからエクセルに出力するのに便利なJavaを利用した「XLConnect」パッケージですが、サイズが大きなデータだとエクセルに出力できないことがあります。そんな問題を解決するPerlを利用した「WriteXLS」パッケージを紹介します。
私の環境だと、コードに紹介した4列×100万行のデータをwindowsおよびMacでエクセルに出力することができました。メモリは16GBです。
日常的な使用には体裁を整えエクセルに出力できる「XLConnect」パッケージをオススメしますが、「XLConnect」パッケージでエラーが出るようなサイズが大きなエクセルを出力する場合は本パッケージの利用を検討ください。
「XLConnect」パッケージを紹介した記事
https://www.karada-good.net/analyticsr/r-51/
パッケージバージョン3.6.1。R version 3.2.0でコマンドを確認しています。
Windowsを利用の方へ
Perl環境を構築する必要があります。下記URLより使用環境に合わせた「Strawberry Perl」をダウンロードしインストールするだけで簡単に構築することができます。Macの方は、作業の必要はありません。
Strawberry Perl:http://strawberryperl.com/
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール install.packages("WriteXLS")
実行コマンドの紹介
4列×100万行のデータをエクセルに出力するコマンドです。保存ファイルの拡張子はxlsおよびxlsxの指定が可能です。詳細はコメントまたはパッケージヘルプを確認してください。
#パッケージの読み込み library("WriteXLS") #####準備##################### #データ例の作成 n <- 1000000 TestData <- data.frame(Data1 = sample(1:100, n, replace = TRUE), Data2 = sample(1:100, n, replace = TRUE), Data3 = sample(1:100, n, replace = TRUE), Data4 = sample(1:100, n, replace = TRUE)) ############################## #Perlがシステムに導入されているかチェック testPerl(perl = "perl", verbose = TRUE) #拡張子がxlsでは列は65,535,行は256までです WriteXLS("TestData", "TestData.xlsx")
少しでも、あなたのウェブや実験の解析が楽になりますように!!