【问题标题】:RWeka read.arff issuesRWeka read.arff 问题
【发布时间】:2012-01-31 04:01:25
【问题描述】:

我正在使用 RWeka 包的 read.arff 方法读取(稀疏)arff。但是我收到以下错误:

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

我尝试读取的文件存在(file.exists('myfile.arff') 返回 TRUE)。

我的一行代码是:

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

有什么想法吗?

谢谢。

编辑 1:traceback() 输出

> 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"))

【问题讨论】:

  • 我会 (1) 验证文件确实存在,并且 (2) 尝试将文件的完整路径直接传递给 read.arff。这些步骤可能会为您提供有关正在发生的事情的更多信息。
  • 我已经做了 1 个(使用 file.exists),正如我在上面发布的那样。我也通过了完整的路径。结果相同。
  • 感谢您对我的包容……遗憾的是,这就是我将提供的帮助的程度。对不起!
  • traceback() 有什么有用的吗?
  • @RomanLuštrik :刚刚用 traceback() 的输出编辑了我的问题。不知道该怎么做。我是 R 新手。

标签: r weka arff


【解决方案1】:

您似乎在使用help(read.arff) 中示例的格式,但不明白为什么它是使用 system.file() 函数编写的。如果您的 .arff 文件不在包目录中(并且它似乎不在此位置),那么您不应该使用该功能。试试吧:

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

或者,如果它在您的工作目录中,也许只是这样:

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

【讨论】:

  • 是的,确实如此。 R 现在正在读取 ARFF,但它似乎非常缓慢且消耗内存。 WEKA 在
  • 只是想补充一点,这可能是因为 read.arff 试图将稀疏数据读入数据帧,这可能是瓶颈。正确的?如果是这样,我可以直接将其读入稀疏数据结构吗?
  • 我不了解您的效率问题。甚至不清楚您的流程是否已完成上述内容。
  • 是的,我不得不在 1/2 小时后终止任务,因为很明显它无处可去。不过感谢您的帮助。
  • 我查看了 "foreign" 包中 read.arff 函数中的代码,发现它有所不同,所以也许您可以尝试一下。 (但在我的 rhelp 版主角色中,我刚刚批准了你在 r-help 上的帖子,说你已经考虑过了。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-16
  • 2018-07-18
  • 2018-08-17
  • 2019-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多