2011-09-25 36 views

Respuesta

32

read.arff en el paquete foreign lee los datos de los archivos de formato del atributo Weka-Relación de archivos (SEI).

actualización: hay un nuevo paquete en CRAN:

farff: Un rápido 'ARFF' Lector de archivos y escritor

19

En general la respuesta a preguntas como esto se puede encontrar a través del paquete de sos , que accede a una búsqueda de texto completo de todos los paquetes en CRAN.

install.packages("sos") 
library("sos") 
findFn("arff") 

encuentra funciones en el foreign (como se señaló anteriormente) y RWeka paquetes. Como foreign es un paquete recomendado, se instalará en su sistema de forma predeterminada. De ahí que hubiera encontrado la respuesta con

help.search("arff") 

, en primer lugar, sin necesidad de instalar el paquete sos. sos todavía vale la pena tener para momentos cuando la cadena que está buscando no está en los metadatos (título, palabras clave, alias, etc.), que es todo lo que help.search busca, o no en un paquete que ya tiene instalado en su sistema (ídem). (Mirando a través del R Data Import/Export Manual, que también viene con el sistema, es generalmente útil pero que no haber encontrado la respuesta a esta pregunta ...)

Podría ser útil conocer la versión RWeka en la remota posibilidad que la versión en foreign (que debe probar primero) falla por alguna razón.

+0

Gracias! No hay mucha información sobre R en Google. –

+4

@IlyaSmagin Sí, sí. Busque "[R] arff" en google y su primer golpe es el que desea. – Andrie

8

Aunque esta pregunta ya está respondida, me doy cuenta de que hay otra solución digna de mención. Compruebe el paquete RWeka que le permite leer y escribir archivos arff. Además, le ofrece un contenedor para las funciones Weka. Por lo tanto, podría usar la funcionalidad de Weka sin instalar Weka (aunque instala .jars). Vea también esto doku ->read.arff.

3

Si sólo se preocupan por los datos y no las relaciones, sólo se puede utilizar:

read.csv("data.arff", header=FALSE, comment.char = "@") 
1

La forma más fácil de hacerlo es usando la biblioteca que tiene "RWeka"read.arff() función que lee .arff archivos.

library(RWeka) 
test=read.arff("../Test/test.arff") 

Espero que esto ayude.

Cuestiones relacionadas