45

xlsx パッケージの読み込みと choose.files の使用で奇妙な問題が発生しています。

この問題は、RStudio を最新バージョン (v0.97.237) に更新するとすぐに始まりました。RStudio を起動してから xlsx (つまりlibrary(xlsx)) をロードすると、パッケージは問題なくロードされます。ただし、その後使用しようとするchoose.files()と、RStudio がフリーズします (実際には、継続的に実行され、Win7 タスク マネージャーで終了しないと閉じることができません)。RStudio を起動して choose.files を最初に使用すると、問題なく動作します。次に行を実行するlibrary(xlsx)と、xlsx パッケージが読み込まれません。以下のエラーが表示されます。

xlsx パッケージを (xlsxjars と rJava と共に) 再インストールしようとしましたが、うまくいきませんでした。Javaの再インストールも行いませんでした。

助言がありますか?R v2.15.2 を使用しています。

library(xlsx)  
Loading required package: xlsxjars  
Loading required package: rJava  
Error occurred during initialization of VM  
Could not reserve enough space for object heap  
Error : .onLoad failed in loadNamespace() for 'xlsxjars', details:  
  call: .jinit()  
  error: Cannot create Java virtual machine (-4)  
Error: package ‘xlsxjars’ could not be loaded  

編集:ここに問題があります。混乱して申し訳ありません。これを入力すると:

filename<-file.choose() #select file
library(xlsx)
mydata<-read.xlsx(filename,1) #load datafile

ファイル名は正常に選択できますが、xlsx パッケージの読み込みに失敗するため、データ ファイルを開くことができません。上記のエラーが発生します。ただし、代わりにこれを実行すると (RStudio を閉じて再起動した後):

library(xlsx)
filename<-file.choose() #select file
mydata<-read.xlsx(filename,1) #load datafile

xlsx パッケージは正しく読み込まれますがfile.choose、R が無期限に実行されるため、スクリプトがフリーズし、ファイルを読み込めません。を使用した場合も同様choose.files()です。これらの 2 つ (xlsx とfile.choose/ choose.files) が競合する理由はわかりませんが、どちらを最初に使用するかに応じてどちらか一方しか使用できないため、競合しているようです。

編集 2: 別のコンピューター (同じ OS、同じバージョンの R、RStudio、および Java) でこれを試しましたが、同じ問題が発生します。

編集 3: RStudio v0.97.90 に戻し、問題は解決しました。RStudioの問題だと思います。

4

6 に答える 6

1

私は常にこれらの行を上部で使用します。

options(java.parameters="-Xmx4000m")
options(java.home="C:/Program Files/Java/jre7/")

多分それが役立つかどうかを確認してください。

于 2014-10-22T12:54:01.977 に答える
0

から一時ファイルを消去してみてください

コントロール パネル > プログラム > Java

それが機能するかどうかを確認してください。

于 2014-05-08T20:33:16.410 に答える
0

新しいパッケージの 1 つに rio パッケージがあります。私が抱えていたインポートとエクスポートの問題の多くが解決され、多くの異なる形式をインポート/エクスポートするために必要なライブラリが 1 つだけであるという追加の利点があります。ファイル名の拡張子に基づいてフォーマットを決定します。また、基本的に同じ機能を使用しているにもかかわらず、他のパッケージよりもクリーンで高速に動作するようです。たとえば、Excel ファイルではwrite.xlsx関数を使用しますが、大きなデータセットでは機能しませんでしたが、機能write.xlsxしませんでした。パッケージのドキュメントはここにあります。

install.packages("rio")    
library(rio)

import("myfile.xlsx")
export(df, "myfile.xlsx")
于 2017-02-08T11:59:00.413 に答える
0

これらのパッケージのいくつかを試してください:

install.packages("XLConnect")
install.packages("xlsxjars")
install.packages("xlsx")

次に、library()

使用するread.xlsx2("blah.xlsx",sheetIndex=NULL)

を使用しないでください。ファイルを関数file.chooseに直接挿入してくださいread.xlsx2

また

read.xlsx2("blah.xlsx",sheetName=NULL")
于 2016-11-30T17:31:31.523 に答える