2012-12-07 12 views
5

मैं print.xtableadd.to.row उपयोग करने के लिए तालिका इस प्रकार फ़ॉर्मेट प्राप्त करने की कोशिश:पंक्तियों को जोड़ना या print.xtables के साथ एकल पंक्ति.नाम को बोल्ड करना - पंक्तियों के बीच कुछ जोड़ें?

खेल

share of ballers 22.3 
share of skiers  4.6 

लत

share of smokers 20.3 
share of drinkers 6.6 

मेरे आर तालिका अतिरिक्त row.names भी शामिल करता है यदि इन पंक्तियों में कोई मूल्य नहीं है। मैंने सुझाए गए here जैसी विभिन्न पंक्तियों में रंग जोड़ने के लिए add.to.row विकल्प का उपयोग किया जो ठीक काम करता था। लेकिन काम नहीं करता है बोल्ड टेक्स्ट को xtable के साथ जोड़ना या पंक्तियों के बीच अतिरिक्त hline जोड़ें। मुझे हमेशा एक त्रुटि संदेश मिलता है जैसे:

Bad type area settings! पता लगाया गया लाइन चौड़ाई लगभग 52% (टाइपरेआ) हैरियिस्टिक रूप से निर्धारित रेखा चौड़ाई से बड़ी है।

तो इसका मतलब यह हो सकता है कि मेरे परिवर्तनों के कारण तालिका अपने पर्यावरण के लिए बड़ी हो गई है, लेकिन इसके बारे में कोई जानकारी नहीं है कि इसके बारे में क्या करना है। नोट मैंने इस one जैसी पोस्ट पढ़ी हैं जो एक्स्टेबल आउटपुट को स्वयं संशोधित करती हैं, लेकिन भले ही मेरे लिए यह संभव हो सके कि मैं एक आसान समाधान ढूंढ रहा हूं। क्योंकि अगर मैं इस समाधान के लिए जाता हूं तो मुझे capture.output करना था और बीच में कुछ जोड़ने के लिए regexp प्रतिस्थापन का उपयोग करना था।

क्या इसके आसपास कोई रास्ता है? या क्या कोई आसान समाधान है?

उत्तर

11

hline भाग के लिए, ?print.xtable देखें।

hline.after: जब 'type="latex"', -1 और '"nrow(x)"' के बीच के अंक का एक वेक्टर, समावेशी, पंक्तियों का संकेत जिसके बाद एक क्षैतिज रेखा दिखाई देनी चाहिए

आप सभी पंक्तियों प्रोत्साहित करने के लिए नाम:

bold.allrows <- function(x) { 
    h <- paste('\\textbf{',x,'}', sep ='') 
    h 
} 
print(xtable(yourTable), 
     sanitize.rownames.function = bold.allrows) 

कुछ पंक्ति नामों को उभारा करने के लिए, आप उन पंक्तियों में "विशेष मार्कअप" जोड़ सकते हैं, उदाहरण के लिए BOLD:

bold.somerows <- 
     function(x) gsub('BOLD(.*)',paste('\\\\textbf{\\1','}'),x) 

print(xtable(yourTable), 
     sanitize.rownames.function = bold.somerows) 

उदाहरण के लिए:

require(xtable) 
hh <- head(mtcars)[ , c(1:5)] 
## I want to bold 1 and 3 rows 
rownames(hh)[c(1, 3)] <- paste('BOLD', rownames(hh)[c(1, 3)]) 
print(xtable(hh), sanitize.rownames.function = bold.somerows) 
+0

सूचक के लिए +1। इस डॉकू के बाद यहां थोड़ा सा ट्रैक खो गया। हालांकि हलाइन केवल हलाइन तक ही सीमित है। कुछ सिमलर जो रिक्ति या अंदरूनी वर्णों की तरह थोड़ा अधिक करता है वह सही होगा। –

+0

जहां आप वास्तव में अक्षर डालना चाहते हैं? उदाहरण के लिए – agstudy

+0

पंक्ति नाम। मेरे उदाहरण की तरह। बोल्ड सेक्शन हेडर के पंक्ति नाम जोड़ना अच्छा होगा। मुझे उन्हें अपनी आर टेबल में जोड़ना नहीं होगा। –