本文へスキップ
からだにいいもの

Rのトピックスを中心に『まだ、まだ、知らない、役に立つ情報?』を発信します。

統計・アクセス解析ツールR:エクセルファイルの読み書き

統計解析ツールRは非常に便利だけれども、日常使っているエクセルファイルでデータを管理しアクセス解析等をおこなっている方が多いと思います。

Rでのエクセルファイルの読み書きを紹介します。Rでデータを操作する事で、作業時間を減らすことができます。

必要なもの

  • R (未インストールの場合はこの記事を参照ください。)
  • XLConnectライブラリー

XLConnectライブラリーはエクセルファイルを出力する際に、フィルターの設定やセルの幅などの設定も可能です。

詳しくは下記のリンクを参照ください。

http://miraisolutions.wordpress.com/

スポンサーリンク

初回作業

  • Rをインストール。
  • Rを立ち上げて以下のコードを実行してXLconnectをインストールする。


install.packages("XLConnect")

使用方法

  • エクセルファイルを読み書きするのに必要な『tcltk』と『XLConnect』のライブラリを呼び出すために以下のコードを実行する。


###ライブラリーの読み込み#####
library(XLConnect)
library(tcltk)
########

エクセルファイルの読み込み

以下の内容のエクセルファイル(.xlsまたは.xlsx)を読み込み。シート構成は1枚のみ。保存場所は例えばデスクトップとします。データは1列目はラベルとして読み込まれます。

スクリーンショット 2014-04-29 10.18.00



selectABook <- paste(as.character(tkgetOpenFile(title = "エクセルファイルを選択",
                                                filetypes = '{"エクセルファイル" {".xls" ".xlsx"}}')),
                     sep = "", collapse =" ") #読み込むエクセルファイルパスの取得
AnaData <- readWorksheet(loadWorkbook(selectABook), sheet = 1) #読み込んだエクセルファイルをAnaData変数へ格納する
AnaData
  X Y
1 1 6
2 2 4
3 1 5
4 2 7
5 1 8
6 2 9
7 1 4
8 2 5
9 1 2

Rに読み込めば、後は自由自在です。

エクセルファイルの書き出し

エクセルファイルへの書き出しはAnaData変数に格納されているデータとします。対象とするデータ変数は適時、変更してください。

試しに、先ほど読み込んだデータからX行が1のみを抽出しTEST.xlsxというファイル名で書き出してみたいと思います。


#データの抽出
SubsetData <- subset(AnaData, AnaData[, 1] == 1)

###保存先の設定#####
saveABook <- as.character(tkchooseDirectory(title = "データの保存先を選択")) #保存先の指定
setwd(saveABook)
########

###エクセル出力の設定#####
wb <- loadWorkbook("TEST.xlsx", create = TRUE) #エクセルファイルの作成
createSheet(wb, name = "TEST") #シートの作成
writeWorksheet(wb, SubsetData, sheet = "TEST") #データの書き込み
saveWorkbook(wb) #保存
########

書き出したエクセルファイルの内容は以下の内容となります。

エクセル保存結果

以上、基本的なエクセルファイルの読み書きでした。

このコードの続きをAIに聞く

スポンサーリンク
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.