2013-02-14 16 views
16

Sto usando xtable per compilare tabelle da R automaticamente durante la compilazione del mio documento TeX. La domanda che ho è come ottengo i nomi delle variabili nella tabella (che nel mio caso sono i nomi delle colonne in un dataframe) per essere in modalità matematica. Ho conservato i miei risultati nelle adf.results dataframe, ed essenzialmente quello che voglio èUtilizzo di xtable con R e Latex, modalità matematica nei nomi delle colonne?

colnames(adf.results) <- c(" ", "$m^r_t$", "$\delta p_t$", 
          "$R^r_t$", "$R^b_t$", "$y^r_t$") 

ma che semplicemente inserisce $m^r_t$ ... come i nomi delle colonne senza interpretarli come in modalità matematica. Qualcuno ha una soluzione?

risposta

29

come suggerito nella vignetta xtable gallery è necessario utilizzare una funzione di disinfezione (come suggerito anche da unikum). Solo alcuni codice fittizio come ho ottenuto che funziona con il tuo esempio:

library(xtable) 
adf.results<-matrix(0,ncol=6,nrow=4) 
colnames(adf.results) <- c(" ", "$m^r_t$", "$\\delta p_t$","$R^r_t$", "$R^b_t$", "$y^r_t$") 
print(xtable(adf.results),sanitize.text.function=function(x){x}) 

Buona fortuna con esso.

Cordiali saluti,

FM

+0

Sapete perché questa funzione sanificazione funziona? Sta prendendo un argomento 'x' e restituisce' x'. – Heisenberg

+0

questa è davvero una domanda intrigante. L'esecuzione di xtable senza un 'sanitize.text.function' personalizzato (cioè con 'ggetOption (" xtable.sanitize.text.function ")' restituendo 'NULL') attiverà il comportamento predefinito di' print.xtable', che è quello di rimuovere tutto personaggi che hanno un significato speciale nel formato di output. Ovviamente ciò che vogliamo in questo caso è mantenere esattamente questi personaggi e valutarli come TeX. Da qui la definizione della funzione quasi inutile. –

5

Vedere xtable gallery: la sezione di sanificazione (pagina 7 e sotto).