2011-09-25 18 views

risposta

32

read.arff nel pacchetto foreign legge i dati da file Weka Attribute-Relation File Format (ARFF).

Aggiornamento: c'è un nuovo pacchetto su CRAN:

farff: Un veloce 'ARFF' File Reader e Writer

19

In generale la risposta a domande di questo tipo possono essere trovati tramite il pacchetto sos , che accede a una ricerca full-text di tutti i pacchetti su CRAN.

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

trova funzioni nel foreign (come indicato sopra) e RWeka pacchetti. Poiché foreign è un pacchetto consigliato, verrà installato sul sistema per impostazione predefinita. Quindi si sarebbe trovato la risposta con

help.search("arff") 

, in primo luogo, senza installare il pacchetto sos. sos vale comunque la pena avere per quando la stringa che stai cercando non è nei metadati (titolo, parole chiave, alias, ecc.), Ovvero tutte le ricerche help.search o non in un pacchetto che hai già installato sul tuo sistema (idem). (Guardando attraverso il R Data Import/Export Manual, che viene fornito con il sistema, è generalmente utile, ma sarebbe non hanno trovato la risposta a questa domanda ...)

Potrebbe essere utile sapere sulla versione RWeka sulla possibilità off che la versione in foreign (che dovresti provare prima) non riesce per qualche motivo.

+0

Grazie! Non ci sono molte informazioni su R in Google. –

+4

@IlyaSmagin Sì, c'è. Cerca "[R] arff" in google e il tuo primo hit è quello che vuoi. – Andrie

8

Anche se questa domanda ha già una risposta mi rendo conto che esiste un'altra soluzione degna di nota. Controllare il pacchetto RWeka che consente di leggere e scrivere file arff. Inoltre ti offre un wrapper per le funzioni Weka. Quindi è possibile utilizzare le funzionalità di Weka senza installare Weka stesso (anche se installa .jars). Vedi anche questo doku ->read.arff.

3

Se vi interessa soltanto i dati e non i rapporti, si può semplicemente utilizzare:

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

Il modo più semplice per farlo sta usando la libreria "RWeka" che ha read.arff() funzione che legge .arff file.

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

Spero che questo aiuti.