大量のデータを含むExcelファイルがあります。Excelで利用できる組み込みのグラフでは、これらのデータを分析するのに十分ではないため、オクターブやRなどのツールを使用することを考えています。
ExcelファイルをオクターブまたはRに直接ロードする方法を考えていました。Webを検索したところ、ExcelからCSVファイルにデータをエクスポートすることで多くの人が使用に成功していることがわかりました。
質問:RまたはOctaveでExcelファイルをロードする直接的な方法はありますか?
大量のデータを含むExcelファイルがあります。Excelで利用できる組み込みのグラフでは、これらのデータを分析するのに十分ではないため、オクターブやRなどのツールを使用することを考えています。
ExcelファイルをオクターブまたはRに直接ロードする方法を考えていました。Webを検索したところ、ExcelからCSVファイルにデータをエクスポートすることで多くの人が使用に成功していることがわかりました。
質問:RまたはOctaveでExcelファイルをロードする直接的な方法はありますか?
はい、方法は次のとおりです。
Windowsユーザーは、パッケージRODBCでodbcConnectExcelを使用できます。これにより、Excelスプレッドシートファイル内の任意のシートから行と列を選択できます(少なくともExcel 97〜2003から、ODBCドライバーによって異なります。odbcConnectを直接呼び出すことにより、Excel 3.0に戻るバージョンを読み取ることができます)。バージョンodbcConnectExcel2007は、以前の形式と同様にExcel 2007形式を読み取ります(ドライバーがインストールされている場合:RODBCを参照)。
あなたの質問はすでに答えられています。これが将来のケースに役立つ場合、これらのタイプの質問に本当に役立つリソースは、いくつかの一般的なデータベースおよびファイル形式からのデータにアクセスするための多くの有用なAPI、パッケージ、ヒントなどをカバーする Rデータインポート/エクスポートドキュメントです。
たとえば、Excelセクションがあり、すでに提供されている回答の多くの根拠をカバーしています。
もう1つの便利なヒントは、Rヘルプ検索システムを試すことです。たとえば、Rプロンプトから次のいずれかを試してください。
> ??xls
> ??excel
編集:ところで、の??xls
略ですhelp.search("xls")
。
最も簡単な方法は、データをCSVファイルの形式にしてから、を使用read.csv()
してデータを読み込むことです。データを読み込むとき、Rは文字列を読み込み、それらを因数に変換することに注意してください。これは、データなどをサブセット化しようとするときに問題になる可能性があります。
または、ネイティブのExcelファイルとして読み込む場合は、RODBC
パッケージを使用できます。
library('RODBC')
yourData <- sqlFetch(odbcConnectExcel("yourData.xls"),
sqtable = "nameOfSheet",
na.strings = "NA",
as.is = TRUE)
odbcCloseAll()
Windowsのさらに簡単な解決策は、xlsReadWriteパッケージを使用することです。Perlは必要ありません。Rパッケージとしてインストールするだけで、Excelファイルを心ゆくまで読み書きできます。
これで、read.csvまたはread.tableを使用できます。
例えば
df = read.csv("~/data/demo.csv",header = TRUE)