在R中读取arff文件

时间:2012-03-31 00:12:10

标签: r dataset arff

我想使用R。

从UCI和Amazon评论中读取数据集

数据集的格式为ARFF(.arff)。

我使用以下脚本:

require("foreign")
setwd("H:/DataSet/amazon")
reviews <- read.arff("amazon.arff")

我收到以下错误

  

read.arff(“amazon.arff”)出错:属性规范无效。

感谢您的帮助。

3 个答案:

答案 0 :(得分:4)

我认为您的意思是UCI机器学习库中的“Amazon Commerce评论集数据集”。即使是Weka也无法打开这个数据集,说

“......未被识别为'Arff数据文件'文件。...属性名称不是唯一的。”

如果您查看该文件,您会看到许多类似于

的条目
@attribute '\'\'\'\'\'\'\'\'\'\'r\'\'\'\'\'\'\'\'\'\'\'' numeric

这个文件出了问题,这不是R或任何'Arff'读取程序的错。 您应该询问在描述页面上提供其名称和电子邮件地址的数据集创建者。

答案 1 :(得分:2)

我找到了让Weka打开.arff文件的解决方案。

无法将结构确定为arff(原因:java.lang.illegalArgumentException:属性名称不是唯一的! 原因:'T''T''T''T''我'我'我'我''''''''''''''''。

这不属于这样的属性@attribute“'\'\'\'\'\'\'\'\'\'\'r \'\'\'\'\'\'\'\'\'\ \ '\'\''数字'。

如果您在文本编辑器(我使用TextMate)中打开arff文件,您将找到罪魁祸首。  (在文本配合中,他们显示&lt; NUL&gt;)

  • @attribute g_b numeric @attribute T numeric @attribute eing numeric @attribute T numeric @attribute rne numeric @attribute T. numeric @attribute T numeric

您可以使用控件F搜索“I”T和“Th”的属性 但是为了加快搜索速度,这里有3个易于搜索的属性,这些属性靠近问题网站。

为'我'搜索't_wo',

'Th'搜索'ff _'

对于'T'搜索'x_'(属性将在此上面)

你不能简单地删除它们,因为无法知道哪些数字适用,所以我建议将它们重命名为T2-4,I2-4 Th2-4。您还需要将属性“class”重命名为“class1”

答案 2 :(得分:0)

在您的特殊情况下,数据集存在一些问题,我无法读取它。

不确定是否有帮助,但是如果您想使用R读取.arff文件,另一种方法是使用RWeka package

该软件包具有某些依赖性:rJava(注1)和RWekajars。

然后,通过使用以下脚本,您将能够读取数据集(注2):

library(rJava)
library("RWeka")
x <- read.arff(file= "amazon.arff")

(由于存在问题)我没有专门尝试使用您的数据集,但是当使用iris.arff dataset时,脚本运行良好(当然,需要更改文件名)


注释

  1. 如果rJava软件包this answer that I gave on another question may help you碰巧遇到任何错误。
  2. 确保您正在拥有文件的文件夹中运行脚本。一种方法是在RStudio中创建一个新项目,将数据集保留在项目目录中,然后运行所需的脚本。