Trasformare tabelle Excel o Calc (LibreOffice/OpenOffice) in codice latex

Se ti piace redigere documenti con LaTeX ed hai bisogno di inserirvi delle tabelle, sarai sicuramente incappato in un problema.

A meno che non si lavori con software statistici complessi per applicazione essenzialmente scientifica (questi sono muniti di pacchetti come Outreg di R ad esempio), dove perciò le tabelle rappresentano output analitici di vario tipo, creare tabelle in LaTeX non è la cosa più triviale e intuitiva di questo mondo.

Nemmeno dei sistemi misti che si appoggiano su LaTeX ma che offrono interfacce WYSIWYG come ad esempio Lyx, permettono in modo facile ed intuitivo di creare tabelle.

Per questo scopo, MS Excel o il sostituto opensource Calc di LibreOffice (eventualmente il fratellastro OpenOffice), sono indubbiamente più funzionali e semplici. Per scelta, mi focalizzo qui sull’alternativa opensource.

Perciò la domanda è: esiste un modo per costruire tabelle usando Calc e poi riportarle in LaTeX senza scrivere codice LaTeX? Fortunatamente, la risposta è SI.

Con OpenOffice e LibreOffice (qui qualche cenno sulla differenza tra i due) avete la possibilità di installare una extension, denominata Calc2LaTeX, che vi permette di raggiungere proprio questo scopo. Vediamo come funziona:

# 1: scaricate Calc2LaTeX da questo sito: http://extensions.services.openoffice.org/en/project/calc2latex-macro-converting-openofficeorg-calc-spreadsheets-latex-tables e salvate il relativo file “.oxt” dove preferite. Perché è una pagina di OpenOffice? Semplice, perché a quel tempo LibreOffice non esisteva! Non preoccupatevi, funziona allo stesso modo.

#2: aprite LibreOffice Calc (oppure OpenOffice Calc), e seguite questo percorso sul menu a finestre: Strumenti > Gestione estensioni.

# 3: cliccate ora su “Aggiungi” (in basso) e tramite la finestra che si apre cercate il file “.oxt” che avete scaricato al passo #1.

Ora avete installato l’estensione, che risulterà attiva. La vedrete nella finestra aperta con il passo #2. Cliccandovi (una volta) sopra potrete verificare se è abilitata semplicemente assicurandovi che vi appaia la possibilità di disattivarla (un truismo forse).

Per utilizzarla, sarà sufficiente selezionare le celle che vorrete trasformare in codice LaTeX e seguire i seguenti semplici passi:

#1: aprire il seguente menu: Strumenti > Macro > Esegui macro

#2: nella finestra aperta, espandete la voce “Macro personali”, dove troverete la cartella “Calc2LaTeX”.

#3: espandete anche la cartella “Calc2LaTeX” e scegliete la macro denominata “Main”. Cliccate infine su “Esegui”.

#4: selezionate le opzioni desiderate. In particolare, consiglio di mantenere l’opzione “Result Window” nell’ultimo riquadro in basso (Result Output). Questa opzione genera una finestra che contiene il codice LaTeX, che voi potete poi copiare ed incollare.

#5: cliccate su convert e attendete l’apparizione dell’output.

Nella speranza di essere stato utile, segnalo un’analoga extension per LibreOffice, che riguarda però l’applicazione Writer (analoga a MS Word). La trovate cliccando qui. Questa permette di trasformare delle pagine di testo scritte con Writer in codice LaTeX.

Maximum likelihood estimation: riassunto concetti chiave

Nel documento allegato è proposto un riassunto dei concetti chiave a comprendere il metodo di stima di massimo di verosimiglianza (in inglese Maximum likelihood estimation), similmente al breve documento che tratta DF e ADF testing.

Il documento è in lingua inglese, in quanto funzionale al MScE che seguo.

Riassunto MLE

Riassunto test DF e ADF: analisi delle serie storiche

Nel documento allegato propongo un riassunto dei punti centrali necessari a comprendere ed utilizzare la procedura di test di Dickey e Fuller (DF and ADF test for unit roots). Il documento è in lingua inglese in quanto finalizzato alla preparazione di un esame MScE in inglese. Non si trattano le derivazioni delle formule, ma soltanto i risultati necessari e la procedura da seguire per i test.

I test DF e ADF (anche se ormai soppiantati da altri più efficienti, in particolare per situazioni di “quasi-nonstazionarietà”) sono utilizzati per individuare una radice unitaria (nel polinomio dei termini ritardati – lag-polynomial) che rende non stazionaria una serie storica.

Se una serie storica X_t è integrata di ordine 1, ossia modellabile come una ARIMA(p,1,q), l’applicazione della differenza prima \varDelta X_t = X_t - X_{t-1} porta ad ottenere una serie stazionaria equivalente in \varDelta X_t che può essere modellata con un semplice modello ARMA(p,q).

Clicca sotto per visualizzare:

Dickey Fuller testing

La mia recensione di “Econometric Analysis” (W. Greene)

La bibbia dell’Econometria. “Econometric Analysis” è un libro assolutamente completo per quanto riguarda l’econometria tradizionale. Dedica 2 capitoli finali all’analisi delle serie storiche, riguardo a cui non entra eccessivamente nei dettagli.

Si tratta di un libro di oltre 1’100 pagine (un mattone per intenderci), che tratta con grande dovizia di particolari tutti gli argomenti possibili relativi all’analisi multivariata (OLS, GLS, IV, Panel Data e chi più ne ha più ne metta), sciogliendo le restrittive assunzioni della regressione ordinaria (OLS) senza lesinare con gli esempi empirici. Come anticipato nel primo paragrafo, questo manuale tratta in lungo e in largo l’analisi multivariata. Viene invece soltanto abbozzata l’analisi univariata delle serie storiche ed i suoi principi, che trovano spazio negli ultimi due capitoli. Greene offre pure un’appendice di algebra lineare piuttosto completa e ben fatta.

“Econometric Analys”, nonostante la presenza di casi illustrativi, è un libro prettamente teorico. Allo studente tipo di livello bachelor di economia*, Greene risulta sicuramente difficile e per affrontare con successo i corsi undergraduate  è senza dubbio superfluo impegnare risorse nello studiare questo libro**. A chi è invece impegnato in un Master con una importante componente quantitativa (Finanza, Economia Politica, …) con corsi di econometria avanzata Greene può invece venire in aiuto per comprendere alcuni temi, che vengono proposti con linguaggio tecnico ma chiaro.

Nella mia esperienza è spesso capitato che quando la lettura di un (altro) libro non chiariva i miei dubbi riguardo ad un passaggio logico o matematico, consultare Greene mi ha aiutato a “chiudere il cerchio” e comprendere quel passaggio.

* molto probabilmente non vale lo stesso per studenti di matematica o ingegneria che passano alle scienze economiche;

** a meno che lo studente in questione non sia intraprendente ed interessato, naturalmente.

Outreg2: funzioni base

Con i software statistici ad uso scientifico, quali R e Stata, uno dei più fastidiosi problemi pratici per i neofiti è l’esportazione degli output prodotti (ad esempio i risultati di una o più regressioni, o delle tabelle di statistica descrittiva di un dataset). Spesso questo è più fastidioso dell’analisi stessa e del codice R o Stata da digitare per ottenere i risultati. Come fare dunque per ottenere degli output simili a quelli che ritroviamo negli articoli scientifici, senza riprendere manualmente i dati in una tabella e formattarla (si ricorda che il “copia e incolla” dalla console Stata o R crea dei pessimi risultati…)? La soluzione esiste, e per Stata si chiama outreg2 (di R tratterò in un altro post).  Outreg 2 è solo uno dei package disponibili e funzionali a questo scopo; ho tuttavia avuto modo di utilizzarlo per dei lavori durante semestrali e credo sia semplice ed efficace, perciò un ottimo strumento. Cercherò qui di dare gli elementi base necessari per produrre degli output carini ed efficaci, evitando di spendere decine di minuti in formattazione manuale. Qui sotto un esempio:

#1. Innanzitutto, come fareste per qualsiasi nuovo package, cercatelo con il seguente comando

 findit outreg2 

e poi cercando il package nella parte bassa della pagina (il link che dovreste trovare è sui server dell’University of California Los Angeles, UCLA). Aprite e installate il package con l’apposito link(Install). Verificate anche che l’installazione vada a buon fine (appare il testo Installation complete). Al termine, potrete visualizzare la pagina di aiuto con il comando

 help outreg2 

 

. La pagina help è riprodotta al link accessibile cliccando qui.

#2. outreg2 funziona sull’ultima regressione che Stata ha elaborato.

#3. La sintassi base del comando è

outreg2 using vostronomefile

A questa sintassi di base, dopo la virgola, vanno aggiunte le opzioni che permettono di visualizzare la tabella di output nel modo desiderato. Le opzioni fondamentali da scegliere sono indicate qui sotto.

Tipo di file: outreg 2 produce files tex (opzione “tex”, un intero file contentente solo la tabella di output) o codici tex da inserire in altri documenti dello stesso formato (opzione”tex(frag)”, cosa tipicamente più sensata della precedente quando si scrive un paper). Con l’opzione “tex(frag pr)” la tabella prodotta in formato tex assume uno stile più “carino”, con qualche corsivo in più (infatti l’opzione “pr” abbrevia pretty). Se invece lavorate con strumenti più commerciali, potete generale files di testo per word (opzione “word”) oppure excel (opzione “excel”). In questi ultimi due casi dovete aprire il documento così generato e copiare la tabella nel vostro file di lavoro.

Etichette: se i nomi delle variabili sono sintetici ed avete creato delle etichette, potete far si che le etichette sostituiscano il nome della variabile nella tabella con l’opzione “lab”

Posizione SE: nell’esempio sopra, lo standard errorr (SE) è inserito sotto il valore del coefficiente. Se lo volete posizionato a lato, usate l’opzione “side”

Statistiche per coefficienti incluse: con l’opzione “st(stat1 stat2 … statn)” decidete quali statistiche inserire nell’output per il coefficiente. Quelle di default sono il coefficiente stesso e l’errore standard. La lista completa è contenuta nella pagina help.

Statistiche della regressione incluse: per aggiungere delle statistiche inerenti alla regressione, che figurano sotto la stessa (nell’esempio, il p-value della F stat for overall significance), posso usare l’opzione adds(nomestat1, valorestat1 nomestat2, valorestat2 …). La particolarità qui è che si deve inserire manualmente il nome della statistica richiesta (nell’esempio: Prob < F) e indicare a Stata il valore della statistica che si cerca, tra quelle in memoria (nell’esempio: e(p)). La lista dei risultati della regressione memorizzati è ottenibile con il comando

ereturn

Le statistiche di default sono numero di osservazioni e r quadro.

Tabella singola o multipla: la prima regressione esportata non crea problemi. In seguito, se desiderate aggiungere colonne a quella stessa tabella con regressioni differenti è sufficiente usare lo stesso identico comando. Stata non sovrascriverà il file, ma lo elabora aggiungendo a destra una nuova colonna con i risultati della nuova regressione. Se volete esportare nuovamente la regressione e sostituirla alla precedente in quanto avete effettuato delle correzioni, aggiungete l’opzione “replace”. Quest’ultima può essere utile se avete integrato il codice tex in un documento genitore. Rimpiazzare il file nuovo vi evita di andare a ritoccare il tex, che sa già quale file prendere e prenderà quello nuovo in questo caso perché avete sovrascritto quello vecchio. Se cambiate il nome nel comando ottenete un nuovo file con la singola nuova regressione.

Il comando della tabella di esempio è fornito di seguito:

outreg2 using regra, tex(frag) addstat(Prob > F, e(p)) replace


#4. Quando il comando è stato lanciato, il file viene generato nella vostra work directory. Potete perciò iniziare a lavorarci o integrarlo direttamente nel vostro paper.

Ulteriori opzioni (molte) sono disponibili e i comandi sono accessibili nella pagina help.