Rで解析:4列×100万行のデータもエクセルに出力!「WriteXLS」パッケージの紹介


データの体裁を整え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")

少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

おすすめコンテンツ


スポンサードリンク