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")

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

Prices and shipping availability may change. Please refer to the product page at time of purchase.
Content displayed on this site is provided by Amazon and may be updated or removed.
Amazon Associate, karada-good earns income through qualifying sales.
タイトルとURLをコピーしました