Domanda

Ho un file di Excel con un ampio insieme di dati. I grafici integrati disponibili in Excel sono non sufficiente per analizzare questi dati, così sto pensando di usare qualche strumento come ottava o R.

stavo pensando a qualche metodo per caricare un file di Excel direttamente in ottava o R. Ho cercato nel web e ha scoperto che molte persone sono riuscite utilizzando esportando i dati da Excel in un file CSV.

La domanda: C'è un modo diretto per caricare un file di Excel in R o Octave?

È stato utile?

Soluzione

Sì, ecco come :

  

Gli utenti Windows possono utilizzare odbcConnectExcel nel pacchetto RODBC. Questo può selezionare righe e colonne da uno qualsiasi dei fogli in un file di foglio di calcolo Excel (almeno da Excel 97-2003, a seconda delle vostre driver ODBC: chiamando direttamente odbcConnect versioni tornare a Excel 3.0 può essere letto). La versione odbcConnectExcel2007 leggerà Excel formati 2007 così come quelle precedenti (forniti i driver sono stati installati: vedere RODBC).

Altri suggerimenti

Un altro (anche portatili) opzione è read.xls nel GData pacchetto. E 'disponibile cross-platform 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 .

pacchetto di un'ottava potrebbe essere facilmente creata usando lo stesso trucco.

La tua domanda è già stata data risposta. Nel caso in cui questo aiuta per alcuni casi futuro, una risorsa molto utile per questi tipi di domande è la R Data Import / Export documento che copre un sacco di API utili, pacchetti, suggerimenti, ecc per l'accesso ai dati da alcuni database comuni e formati di file.

Per esempio, c'è un sezione Excel , che copre un sacco di terreno nelle risposte già fornite.

Un altro consiglio utile è quello di provare il sistema R cerca aiuto. Ad esempio, provare una delle seguenti operazioni dal prompt R:

> ??xls
> ??excel

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

Il modo più semplice è per i vostri dati siano sotto forma di un file CSV, e quindi utilizzare read.csv() per leggere i dati. Essere consapevoli del fatto che quando si legge nei dati, che R leggerà in stringhe di caratteri e li converte in fattori. Questo può diventare un problema quando si tenta di sottoinsieme dei dati, ecc.

In alternativa, se si desidera leggere in forma di file nativo di Excel, quindi è possibile utilizzare il pacchetto RODBC.

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

Una soluzione ancora più semplice per Windows è quello di utilizzare il href="http://treetron.googlepages.com/xlsreadwrite.htm" rel="nofollow noreferrer"> xlsReadWrite pacchetto . Non c'è bisogno di Perl, è sufficiente installare come un pacchetto R ed è possibile leggere e scrivere file di Excel al contenuto del vostro cuore.

Ora possiamo usato read.csv o read.table.

Ad esempio

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