Excel 2007(.xlsx)ファイルをRにインポートする最善の方法について誰かが私を助けてくれますか。 2.13.1、windows XP、xlsx 0.3.0にアップグレードしましたが、エラーが発生し続ける理由がわかりません。私は試した:
AB<-read.xlsx("C:/AB_DNA_Tag_Numbers.xlsx","DNA_Tag_Numbers")
OR
AB<-read.xlsx("C:/AB_DNA_Tag_Numbers.xlsx",1)
しかし、私はエラーが発生します:
Error in .jnew("Java/io/FileInputStream", file) :
Java.io.FileNotFoundException: C:\AB_DNA_Tag_Numbers.xlsx (The system cannot find the file specified)
ありがとうございました。
厄介な外部依存関係*のないソリューションの場合、 readxl
:
Readxlパッケージを使用すると、ExcelからRにデータを簡単に取得できます。既存の多くのパッケージ(gdata、xlsx、xlsReadWriteなど)と比較して、readxlには外部依存関係がないため、すべてのオペレーティングシステムに簡単にインストールして使用できます。これは、単一のシートに保存されている表形式のデータで動作するように設計されています。
Readxlは、従来の.xls形式と最新のxmlベースの.xlsx形式の両方をサポートしています。 .xlsサポートは、libxls Cライブラリを使用して可能になります。これにより、基になるバイナリ形式の複雑さの多くが抽象化されます。 .xlsxを解析するには、RapidXML C++ライブラリを使用します。
次のようにインストールできます。
install.packages("readxl") # CRAN version
または
devtools::install_github("hadley/readxl") # development version
使用法
library(readxl)
# read_Excel reads both xls and xlsx files
read_Excel("my-old-spreadsheet.xls")
read_Excel("my-new-spreadsheet.xlsx")
# Specify sheet with a number or name
read_Excel("my-spreadsheet.xls", sheet = "data")
read_Excel("my-spreadsheet.xls", sheet = 2)
# If NAs are represented by something other than blank cells,
# set the na argument
read_Excel("my-spreadsheet.xls", na = "NA")
*厳密には真ではありません。 Rcpp
package が必要です。これは、Rの外部依存関係であるRtools(Windowsの場合)またはXcode(OSXの場合)を必要とします。パスなど。したがって、これはJavaおよびPerlの依存関係よりも優れています。
Updaterexcel パッケージがあります。これにより、Excelの書式設定、関数、およびその他の多くの種類の情報をExcelファイルからRに取り込むことができます。
XLConnectパッケージを試すこともできます。私はxlsxよりも運が良かった(さらに.xlsファイルも読み込める)。
library(XLConnect)
theData <- readWorksheet(loadWorkbook("C:/AB_DNA_Tag_Numbers.xlsx"),sheet=1)
また、ファイルが見つからないという問題がある場合は、file.choose()で選択してみてください。
gdata
パッケージよりもかなり成熟したxlsx
パッケージのread.xls
関数を間違いなく試してみます。 Perlが必要になる場合があります...
以下の回答はやや時代遅れなので、私はreadxlパッケージに注意を引くだけです。 Excelシートが適切にフォーマット/レイアウトされている場合、ワークブックから読み取るためにreadxlを使用します。シートの書式設定が不十分である場合、CSVにエクスポートし、Rでread.csv()
または単純な古いreadLines()
を使用して問題を処理します。
私の好ましい方法は、個々のExcelシートをコンマ区切り値(CSV)ファイルに保存することです。 Windowsでは、これらのファイルはExcelに関連付けられているため、Excelでダブルクリックして開く「機能」を失うことはありません。
CSVファイルは、read.csv()
を使用してRに読み込むことができます。または、ある場所にいる場合、またはヨーロッパの設定でセットアップされたコンピューター(,
を小数点位置として使用)を使用している場合は、read.csv2()
を使用します。
これらの関数には、適切にフォーマットされたファイルの読み取りを簡単にする賢明なデフォルトがあります。サンプルまたは変数のラベルを最初の行または列に保持するだけです。
ファイルをCSV形式で保存することの追加の利点は、ファイルがプレーンテキストであるため、ファイルを非常に簡単に渡すことができ、どこでも開くことができると確信できることです。データを表示または編集するためにExcelは必要ありません。
例2012:
library("xlsx")
FirstTable <- read.xlsx("MyExcelFile.xlsx", 1 , stringsAsFactors=F)
SecondTable <- read.xlsx("MyExcelFile.xlsx", 2 , stringsAsFactors=F)
2015年の例:
library("readxl")
FirstTable <- read_Excel("MyExcelFile.xlsx", 1)
SecondTable <- read_Excel("MyExcelFile.xlsx", 2)
readxl
を使用し、それを十分に経験しました。この新しいパッケージは素敵に見えます http://cran.r-project.org/web/packages/openxlsx/openxlsx.pdf rJavaを必要とせず、速度に「Rcpp」を使用しています。
同じ問題に直面していて、Rがエラーを出している場合-関数 ".jnew"が見つかりませんでした-ライブラリrJavaをインストールするだけです。または、すでに行ライブラリ(rJava)を実行している場合。それが問題になるはずです。
また、csvファイルとtxtファイルの方が簡単に作業できることは誰にとっても明らかなはずですが、人生は簡単ではなく、場合によってはxlsxを開くだけです。
私は最近、xlxsパッケージがR 3.1.0用に更新されていないことに気付いた後、ExcelファイルをRにインポートするSchaun Wheelerの機能を発見しました。
https://Gist.github.com/schaunwheeler/5825002
ファイル名には「.xlsx」拡張子を付ける必要があり、関数を実行するときにファイルを開くことはできません。
この機能は、他の人の作業にアクセスするのに非常に便利です。 read.csv関数を使用することの主な利点は、次の場合です。
Read.csv関数を使用するには、各Excelドキュメントを手動で開いて保存する必要があり、時間がかかり、非常に退屈です。したがって、Schaunの機能を使用してワークフローを自動化することは非常に役立ちます。
このソリューションのためのショーンの大きな小道具。
私にとって、openxlxパッケージは最も簡単な方法で機能しました。
install.packages("openxlsx")
library(openxlsx)
rawData<-read.xlsx("your.xlsx");
Rが実際にファイルを見つけることができることを確認しました。 file.exists( "C:/AB_DNA_Tag_Numbers.xlsx")? –ベンボルカー11年8月14日23:05で
上記のコメントはあなたの問題を解決するはずです:
require("xlsx")
read.xlsx("filepath/filename.xlsx",1)
その後は正常に動作するはずです。
お使いのオペレーティングシステムは何ですか?実行しているRのバージョン:32ビットまたは64ビット?どのバージョンのJavaをインストールしていますか?
read.xlsx()
関数の使用を最初に開始したときに同様のエラーが発生し、私の問題(これはあなたの問題に関連している場合と関連していない場合があります。 .xlsxパッケージと64ビットJavaの非互換性。 .xlsxパッケージには32ビットJavaが必要であると確信しています。
32ビットRを使用して、32ビットJavaがインストールされていることを確認してください。これで問題が解決する場合があります。
私は上記のすべての答えに一生懸命努力しました。ただし、Macを使用したため、実際には役に立ちませんでした。 rio libraryにはこのインポート機能があり、基本的にあらゆるタイプのデータファイルをRstudio、英語以外の言語を使用しているファイルでも!
以下のコードを試してください:
library(rio)
AB <- import("C:/AB_DNA_Tag_Numbers.xlsx")
AB <- AB[,1]
この助けを願っています。詳細なリファレンス: https://cran.r-project.org/web/packages/rio/vignettes/rio.html
OpenDocumentスプレッドシートファイル(ods)または古いExcel形式にエクスポートしてインポートすると、複数のタブとより多くの書式情報を保持できる場合があります ODS reader または上記のExcelリーダー。
ここで多くの人が述べたように、私は同じことを書いていますが、追加のポイントがあります!
最初に、R Studioに次の2つのパッケージがインストールされていることを確認する必要があります。
Rでパッケージをロードするには、以下の機能を使用できます。
install.packages("readxl/XLConnect")
library(XLConnect)
search()
検索すると、R Studioで利用可能な現在のパッケージのリストが表示されます。
これらの2つのパッケージがある場合でも、「xlsx」ファイルの読み取り中に問題が発生する可能性がありますが、エラーは「error:more columns more than column name」のようになります。
この問題を解決するには、Excelシート「xlsx」を保存し直してください。
「CSV(カンマ区切り)」
あなたの人生はとても簡単になります。
楽しむ!!