Rでウェブ解析:いろいろなファイルを読み込み、書き出しができます。「rio」パッケージ


RでSASやエクセル、CSV、クリップボードからデータを読み込み、目的のファイルフォーマットでデータを書き出すには、フォーマットに合わせてコマンドやパッケージを使い分ける必要があり少々面倒です。

そんな問題を解決してくれる「rioパッケージ」がリリースされていましたので紹介します。

まだ、バージョンが0.2.0ですが多くのファイルフォーマットの読み込み、書き出しに対応しかつ複雑な設定がいらない初心者にやさしい設計かと思います。

現在、コマンドはimport, export, convertが用意されています。ほとんどの場合はimport, exportの利用で済むと思います。

パッケージの対応ファイルフォーマット

現在のところ、読み込みは22種類、書き出しは14種類が対応しています。

ファイル拡張子読み込み書き出し
tsv
csv
psv
fwf
rds (Rオブジェクト)
Rdata (Rオブジェクト)
json
dta (Stataファイル)
sav (SPSSファイル)
dbd (XBASEファイル)
xls, xlsx (エクセルファイル)xlsxのみ
arft
R (Rシンタックス)
xml
sas7bdat, xpt (SASファイル)×
mtp×
rec×
syd (Systatファイル)×
dif×
ods×
Fortranファイル×
クリップボード×


パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("rio", type = "source")

実行コマンドの紹介

コマンドだけでは初心者に優しくないので、ダイアログ(メニュー?)からデータの読み込み、書き出しが指定できるようにtcltkパッケージを使用しています。

注意:日本語を含むcsvの書き出しは文字化けします。オプションにfileEncoding=”CP932″, eol=”\r\n”を追記すると解決します。eol=”\r\n”はエクセルとファイルの関連を指定していするオプションです。詳細はコマンド内を確認してください。

#GUIを利用して読み込むファイルを指定するコマンド
library("tcltk")
library("rio")
SelectData <- paste(as.character(tkgetOpenFile(title = "読み込むファイルを指定",
                                               filetypes = '{"ファイルを指定" {"*.*"}}',initialfile = "*.*")),
                            sep = "", collapse =" ")
AnaData <- import(SelectData)

#GUIを利用してファイルを保存するコマンド
#例として読み込んだデータをSPSSファイルで出力
#目的のファイル拡張子にすることでファイルフォーマットを指定できます
#注意:csvの場合、日本語を含むと文字化けします。
#オプションにfileEncoding="CP932", eol="\r\n"を追記すると解決します
setwd(paste(as.character(tkchooseDirectory(title = "保存場所を選択"), sep = "", collapse ="")))
export(AnaData, "AnaData.sav")

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

スポンサードリンク

おすすめコンテンツ


スポンサードリンク