2011-12-31 12 views
2

私は、RWekaパッケージのread.arffメソッドを使って(疎)arffを読んでいます。しかし、私は次のエラーを取得する:RWeka read.arff issues

Error in .jnew("java/io/FileReader", file) : 
    java.io.FileNotFoundException: (No such file or directory) 

私は読んしようとしていたファイルは、(file.exists(「myfile.arff」)がTRUEを返す)が存在します。

私の1行のコードは次のとおりです。何が起こっている可能性があります

data = read.arff(system.file('arff', 'myfile.arff', package='RWeka')) 

任意のアイデア?

ありがとうございました。

編集1:あなたはそれがsystem.file()関数を使用して書かれている理由を理解せずhelp(read.arff)に例の形式を使用しているように見えるトレースバック()出力

> traceback() 
4: stop(list(message = "java.io.FileNotFoundException: (No such file or directory)", 
    call = .jnew("java/io/FileReader", file), jobj = <S4 object of class "jobjRef">)) 
3: .External("RcreateObject", class, ..., silent = silent, PACKAGE = "rJava") 
2: .jnew("java/io/FileReader", file) 
1: read.arff(system.file("arff", "/home/andy/r/myfile.arff", 
    package = "RWeka")) 
+0

私は(1)ファイルが実際にないことを確認しますが存在し、(2)フルを渡してみてくださいファイルへのパスを直接read.arffに渡します。これらの手順は、何が起こっているかについての詳細情報を提供する場合があります。 – joran

+0

私は上記のように(file.existsを使用して)1つをすでに行いました。私は完全な道を渡しました。同じ結果。 – Andy

+0

私に甘やかされてくれてありがとう...悲しいことに、それは私がどれくらい役に立つかの程度だった。ごめんなさい! – joran

答えて

4

。あなたの.arffファイルがパッケージディレクトリにない場合(そしてそれが見つからないと思われる場合)、その関数を使用すべきではありません。代わりに試してみてください:

mydat <- read.arff(file= "/home/andy/r/myfile.arff") 

それとも、それはあなたの作業ディレクトリにある場合は多分ちょうどこの:

mydat <- read.arff(file= "myfile.arff") 
+0

はい、確かに。 Rは現在ARFFで読んでいますが、非常に遅く、メモリを消費しているようです。 WEKAは10秒未満で同じarffを読み込み、Rは今15分以上それを読もうとしていますが、まだ完了していません。これについての考えは? – Andy

+0

これは、おそらくread.arffがデータフレームに疎なデータを読み込もうとしたことが原因で、おそらくボトルネックになっている可能性があります。正しい?そのような場合は、疎なデータ構造に直接読み込むことはできますか? – Andy

+0

私はあなたの効率の問題についての洞察を持っていません。あなたのプロセスが上に書かれていることから完結していることさえ明らかではありません。 –