स्वेव और xtable के साथ रंगीन टेबल कैसे बनाएं? [बन्द है]


17

मैं रिपोर्ट बनाने के लिए Sweave और xtable का उपयोग कर रहा हूं ।

मैं एक मेज पर कुछ रंग जोड़ना चाहूंगा। लेकिन मैं xtable के साथ रंगीन तालिकाओं को उत्पन्न करने का कोई तरीका खोजने में कामयाब नहीं हुआ हूं।

क्या कोई और विकल्प है?


रंगीन तालिका क्या है? रंग पृष्ठभूमि के साथ सेल? सेल टेक्स्ट अलग रंग? अंतिम परिदृश्य में, समाधान उचित टेक्स कमांड के साथ मानों को लपेट सकता है।
म्पिकतस

मुझे एक विशिष्ट रंग के होने के लिए एक पंक्ति की पृष्ठभूमि चाहिए। क्या मुझे एक xtable फ़ंक्शन को फिर से लिखना होगा?
रॉकसाइंस

1
R पैकेज Hmisc में लेटेक्स फ़ंक्शन के रूप में xtable को पहले ही फिर से लिखा गया है (या शायद पूर्व-लिखित) । व्यक्तिगत रूप से मैं उचित दिखने वाले तालिकाओं के लिए इसकी शपथ लेता हूं। मैंने जाँच नहीं की है कि इसमें नीचे वर्णित फैंसी प्रविष्टि चाल के लिए जगह है, हालांकि मुझे आश्चर्य होगा कि नहीं।
conjugateprior

@Conjugate तुम सही हो, हालाँकि यह उतना सीधा नहीं है जितना मैंने सोचा होगा; मैंने आपके सुझाव के साथ अपनी प्रतिक्रिया अपडेट कर दी है।
CHL

@ 'सीधा नहीं' एक समझ है। यह कार्य एक जानवर है, हालांकि एक बहुत ही सक्षम है।
कंजुगेटपायर

जवाबों:


20

हालांकि मैं स्पष्ट रूप से अनुसंधान के साथ से इस कोशिश नहीं की (मैं आमतौर पर पोस्ट-प्रक्रिया लेटेक्स में टेबल्स के साथ सीधे \rowcolor, \rowcolorsया colortbl पैकेज), मुझे लगता है कि यह आसान के साथ खेल से यह करने के लिए किया जाएगा add.to.rowमें तर्क print.xtable()। यह मूल रूप से दो घटकों की उम्मीद करता है (के रूप में पारित list): (1) पंक्ति संख्या, और (2)एलटीएक्सआदेश। कृपया ध्यान दें कि निर्दिष्ट पंक्ति के अंत में कमांड जोड़े गए हैं।

यह colortblपैकेज के साथ काम करने लगता है । तो, कुछ इस तरह

<<result=tex>>
library(xtable)
m <- matrix(sample(1:10,10), nr=2)
print(xtable(m), add.to.row=list(list(1),"\\rowcolor[gray]{.8} "))
@

मुझे देता है

यहाँ छवि विवरण दर्ज करें

(यह एक अनुकूलित बीमर टेम्पलेट है, लेकिन इसे एक मानक दस्तावेज़ के साथ काम करना चाहिए। बीमर के साथ, आप शायद tableपैकेज लोड करते समय विकल्प जोड़ना चाहेंगे ।)

अपडेट करें:

@ कंजुगेट के सुझाव के बाद, आप हैंडलिंग के लिए Hmisc सुविधाओं पर भी भरोसा कर सकते हैंटीएक्सआउटपुट, latex()फ़ंक्शन के कई विकल्प देखें । यहाँ उपयोग का एक उदाहरण है:

library(Hmisc)
## print the second row in bold (including row label)
form.mat <- matrix(c(rep("", 5), rep("bfseries", 5)), nr=2, byrow=TRUE)
w1 <- latex(m, rownamesTexCmd=c("","bfseries"), cellTexCmds=form.mat, 
            numeric.dollar=FALSE, file='/tmp/out1.tex')
w1  # call latex on /tmp/out1.tex
## highlight the second row in gray (as above)
w2 <- latex(m, rownamesTexCmd=c("","rowcolor[gray]{.8}"), 
            numeric.dollar=FALSE, file='/tmp/out2.tex')
w2
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.