2009-07-29 16 views
5

Ho un file Excel con un grande set di dati. I grafici integrati disponibili in Excel sono non abbastanza per analizzare questi dati, così sto pensando di utilizzare qualche strumento come ottava o R.Caricamento di dati da file Excel in R o Octave

stavo pensando a qualche metodo per caricare un file di Excel direttamente in ottava o R. Ho cercato sul Web e ho scoperto che molte persone sono riuscite a utilizzare esportando i dati da Excel in un file CSV.

La domanda: Esiste un modo diretto per caricare un file Excel in R o Octave?

risposta

4

Sì, here's how:

Gli utenti Windows possono utilizzare odbcConnectExcel nel pacchetto RODBC. Questo può selezionare righe e colonne da qualsiasi foglio in un foglio di calcolo di Excel (almeno da Excel 97-2003, a seconda dei driver ODBC: chiamando odbcConnect è possibile leggere le versioni direttamente in Excel 3.0). La versione odbcConnectExcel2007 leggerà i formati di Excel 2007 e quelli precedenti (a condizione che i driver siano installati: consultare RODBC).

3

Un'altra opzione (e anche portatile) è read.xls nel pacchetto gdata. È disponibile su più piattaforme in quanto si basa sul codice Perl sottostante per analizzare, leggere, ... dati dal file xls in un file csv che viene poi letto. I pacchetti Perl richiesti sono tutti forniti da gdata.

Un pacchetto Octave può essere facilmente creato utilizzando lo stesso trucco.

3

La tua domanda ha già una risposta. Nel caso questo aiuti in qualche caso futuro, una risorsa davvero utile per questi tipi di domande è la R Data Import/Export document che copre un sacco di API, pacchetti, suggerimenti, ecc. Utili per accedere ai dati da alcuni database e formati di file comuni.

Ad esempio, c'è uno Excel section, che copre molto terreno nelle risposte già fornite.

Un altro suggerimento utile è provare il sistema di ricerca dell'aiuto R. Ad esempio, effettuare una delle seguenti dalla riga R:

> ??xls 
> ??excel 

EDIT: A proposito, ??xls è l'abbreviazione di help.search("xls").

+0

+1, grazie per avermi a questo documento, in realtà per motivi sconosciuti, ero più inclini verso ottava, e non si concentrava su R. Ma, vorrei ora di partenza usando R ;-) ... – Alphaneo

1

Il modo più semplice è che i dati siano sotto forma di file CSV, quindi utilizzare read.csv() per leggere i dati. Tieni presente che quando leggi i dati, R leggerà le stringhe di caratteri e le convertirà in fattori. Questo può diventare un problema quando si tenta di creare sottoinsiemi, dati, ecc.

In alternativa, se si desidera leggerlo come un file Excel nativo, è possibile utilizzare il pacchetto RODBC.

library('RODBC') 
yourData <- sqlFetch(odbcConnectExcel("yourData.xls"), 
    sqtable = "nameOfSheet", 
    na.strings = "NA", 
    as.is = TRUE)      
odbcCloseAll() 
1

Una soluzione ancora più semplice per Windows è utilizzare il pacchetto xlsReadWrite. Non c'è bisogno di Perl, basta installare come un pacchetto R e puoi leggere e scrivere file di Excel a tuo piacimento.

+0

Tuttavia, non è né Open Source né portatile. –

+0

+1 @Rob, grazie. – Alphaneo

1

Ora possiamo usare read.csv o read.table.

Per esempio

df = read.csv("~/data/demo.csv",header = TRUE)