正在读取R中的arff文件



我想使用R.从带有亚马逊评论的UCI中读取一个数据集

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

我正在使用以下脚本:

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

我得到以下错误

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

提前感谢您的帮助。

我想你指的是UCI机器学习库中的"亚马逊商业评论集数据集"。即使是Weka也无法打开这个数据集,称

"…未被识别为‘Arff数据文件’文件……属性名称不唯一。"

如果你查看文件,你会看到很多类似的条目

@attribute '''''''''''r'''''''''''' numeric

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

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

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

它不是像@attribute这样的属性"'\'\'\'\''\'r\'\'"。

如果你在文本编辑器中打开arff文件(我使用的是TextMate),你会发现罪魁祸首。(在文本中显示<NUL>)

  • @attribute g_b numeric@attribute T numeric@属性ingnumeric@attribute T numeric@attribute rne numeric@属性Tnumeric@属性T numeric

您可以使用控件F在then属性中搜索"I"、"T"one_answers"Th"但为了加快搜索速度,这里有3个易于搜索的属性,它们靠近问题网站。

对于"I"搜索"t_wo",

对于'Th'搜索'ff_'

对于"T"搜索"x_"(属性将高于此属性)

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

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

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

该包有一些依赖项:rJava(注1)和RWekajars。

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

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

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


票据

  1. 如果您碰巧在rJava包中有任何错误,我在另一个问题上给出的这个答案可能会对您有所帮助
  2. 请确保您正在文件所在的文件夹中运行脚本。一种方法是在RStudio中创建一个新项目,将数据集保存在项目的目录中,然后运行所需的脚本

最新更新