2015-06-27 11 views
6

के साथ प्रतिस्थापित करें मैं कुछ आर कोड से आउटपुट कैप्चर करने और लेटेक्स कोड के साथ प्रतिस्थापित करने की कोशिश कर रहा हूं।कैप्चर आर आउटपुट और लाटेक्स कोड

आप इस कोड को चलाते हैं:

[1] ""                           
[2] "% Table created by stargazer v.5.1 by Marek Hlavac, Harvard University. E-mail: hlavac at fas.harvard.edu" 
[3] "% Date and time: Sat, Jun 27, 2015 - 11:36:07"                
[4] "\\begin{table}[!htbp] \\centering "                  
[5] " \\caption{The main caption of the table.} "                
[6] " \\label{} "                        
[7] "\\begin{tabular}{@{\\extracolsep{5pt}} cccc} "                
[8] "\\\\[-1.8ex]\\hline "                      
[9] "\\hline \\\\[-1.8ex] "                      
[10] " & mpg & cyl & disp \\\\ "                     
[11] "\\hline \\\\[-1.8ex] "                      
[12] "Mazda RX4 & $21$ & $6$ & $160$ \\\\ "                  
[13] "Mazda RX4 Wag & $21$ & $6$ & $160$ \\\\ "                 
[14] "Datsun 710 & $22.800$ & $4$ & $108$ \\\\ "                 
[15] "Hornet 4 Drive & $21.400$ & $6$ & $258$ \\\\ "                
[16] "Hornet Sportabout & $18.700$ & $8$ & $360$ \\\\ "               
[17] "\\hline \\\\[-1.8ex] "                      
[18] "\\end{tabular} "                       
[19] "\\end{table} " 

मैं इस के साथ लाइन 5 प्रतिस्थापित करने की आवश्यकता:: मैं यह कैसे कर सकते

" \\caption[short caption]{The main caption of the table.} " 

library(stargazer) 
x <- capture.output(stargazer(mtcars[1:5, 1:3], summary = FALSE, title="The main caption of the table.")) 

x 

यह आउटपुट है ?

+2

'x <- उप (" \\ कैप्शन {तालिका का मुख्य कैप्शन।} "," \\ कैप्शन [लघु कैप्शन] {तालिका का मुख्य कैप्शन।} ", निश्चित = TRUE, x)' ? –

+1

@ स्टीवन बेउप्रे इसे एक उत्तर के रूप में जोड़ना चाहते हैं? – luciano

उत्तर

5

प्रयास करें:

x <- sub("\\caption{The main caption of the table.}", 
     "\\caption[short caption]{The main caption of the table.}", fixed = TRUE, x) 
0

यह है कि तुम क्या मन में था की तुलना में थोड़ा अलग है, लेकिन शायद तुम सिर्फ xtable जो एक caption.width तर्क है, जैसे इस्तेमाल कर सकते हैं:

print.xtable(xtable(mtcars[1:5, 1:3], 
        caption="The main caption of the table"), 
      caption.width="10cm", 
      caption.placement="top") 

उत्पादन होगा पोर्ट बिल्कुल जो आप जा रहे हैं, उसके लिए नहीं, लेकिन यदि आप अधिक संक्षिप्त कोड पसंद करते हैं तो शायद आप इसे अपने उद्देश्यों में झुका सकते हैं; ?print.xtable से:

शीर्षक एक निर्धारित चौड़ाई के "parbox" में रखा जाएगा यदि caption.width शून्य और प्रकार = "लेटेक्स" नहीं है। डिफ़ॉल्ट मान शून्य है।

यहाँ उत्पादन है:

% latex table generated in R 3.1.3 by xtable 1.7-4 package 
% Tue Jun 30 14:52:06 2015 
\begin{table}[ht] 
\centering 
\parbox{5cm}{\caption{The main caption of the table}} 
\begin{tabular}{rrrr} 
    \hline 
& mpg & cyl & disp \\ 
    \hline 
Mazda RX4 & 21.00 & 6.00 & 160.00 \\ 
    Mazda RX4 Wag & 21.00 & 6.00 & 160.00 \\ 
    Datsun 710 & 22.80 & 4.00 & 108.00 \\ 
    Hornet 4 Drive & 21.40 & 6.00 & 258.00 \\ 
    Hornet Sportabout & 18.70 & 8.00 & 360.00 \\ 
    \hline 
\end{tabular} 
\end{table} 

तुम भी अन्य विकल्पों के साथ चारों ओर गंदगी करना होगा (जैसे, digits) तालिका के बाकी के वही प्रारूपण कि मैच के लिए stargazer से प्राप्त करने के लिए , इस बात पर निर्भर करता है कि वास्तव में स्वरूपण क्या है जो आपको दिमाग में था।

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