2013-02-14 18 views
16

TeX belgesini derlerken tabloları otomatik olarak derlemek için xtable kullanıyorum. Sahip olduğum soru, tablodaki değişken isimlerini (ki benim durumumda bir veri çerçevesindeki sütun adları) matematik modunda nasıl elde ettiğimi anlatmaktı. Ben dataframe adf.results sonuçları etkileyici depolanamaz ve esasen ne istiyorumR ve Latex ile xtable'ı, sütun adlarında matematik modunu mu kullanıyorsunuz?

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

ama bu sadece matematik modunda varlık olarak bunları yorumlayarak olmadan sütun adları olarak ... $m^r_t$ ekler var. Herkesin bir çözümü var mı?

cevap

29

bir sanitizasyon işlevi kullanmalısınız (unikum da önerildiği gibi). Ben senin örnekle çalışma var nasıl Sadece bazı kukla kodu: onunla

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

iyi şanslar.

Saygılarımızla

FM

+0

bu sanitization fonksiyonu çalışır neden biliyor musunuz? 'X' argümanını alıyor ve x döndürüyor. – Heisenberg

+0

gerçekten ilgi çekici bir sorudur. Özel bir "sanitize.text.function" (yani "ggetOption (" xtable.sanitize.text.function ") ile" nULL "döndürmeksizin) xtable'ı çalıştırmak, print.xtable öğesinin varsayılan davranışını tetikler; çıktı biçiminde özel bir anlamı olan karakterler. Tabii ki bu durumda istediğimiz şey tam olarak bu karakterleri korumak ve bunları TeX olarak değerlendirmektir. Bu nedenle, dikişsiz işe yaramaz işlev tanımı. –

5

Lütfen bkz xtable gallery: Sanitizasyon bölümü (sayfa 7 ve aşağısı). skeçinde önerildiği gibi,