2013-02-14 4 views
16

मैं अपने टीएक्स दस्तावेज़ को संकलित करते समय स्वचालित रूप से आर से तालिकाओं को संकलित करने के लिए xtable का उपयोग कर रहा हूं। मेरे पास सवाल यह है कि मैं गणित मोड में होने के लिए तालिका में परिवर्तनीय नाम कैसे प्राप्त करता हूं (जो मेरे मामले में डेटाफ्रेम में कॉलम नाम हैं)। मैं dataframe adf.results अपने परिणामों को संग्रहीत किया है, और अनिवार्य रूप से जो मैं चाहताआर और लेटेक्स के साथ xtable का उपयोग, कॉलम नामों में गणित मोड?

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

है, लेकिन है कि बस उन्हें गणित मोड में होने के रूप में व्याख्या के बिना $m^r_t$ सम्मिलित करता है ... स्तंभ नाम के रूप में। क्या किसी के पास एक समाधान है?

उत्तर

29

जैसा कि xtable gallery विगनेट में सुझाया गया है, आपको एक sanitization फ़ंक्शन का उपयोग करना चाहिए (जैसा कि यूनिकम भी सुझाया गया है)। बस कुछ डमी कोड मैं इसे कैसे अपने उदाहरण के साथ काम मिल गया:

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}) 

इसके साथ गुड लक।

सधन्यवाद,

एफएम

+0

तुम जानते हो क्यों इस सफ़ाई समारोह काम करता है? यह एक तर्क 'x' ले रहा है और 'x' देता है। – Heisenberg

+0

जो वास्तव में एक दिलचस्प सवाल है। कस्टम 'sanitize.text.function' के बिना xtable चलाना (यानी' ggetOption ("xtable.sanitize.text.function") '' reulling 'NULL' के साथ) 'print.xtable' का डिफ़ॉल्ट व्यवहार ट्रिगर करेगा जो सभी को हटाना है वे अक्षर जिनके पास आउटपुट प्रारूप में विशेष अर्थ है। बेशक हम इस मामले में क्या चाहते हैं कि इन पात्रों को बनाए रखना और उन्हें टीएक्स के रूप में मूल्यांकन करना है। इसलिए सीमांत बेकार कार्य परिभाषा। –

5

कृपया xtable gallery देखें: स्वच्छता अनुभाग (पृष्ठ 7 और नीचे)।

संबंधित मुद्दे