2014-12-23 9 views
12

में एक dataframe मुद्रण मैं xtable का उपयोग कर एक डेटा फ्रेम से knitr में एक तालिका मुद्रित करने के लिए कोशिश कर रहा हूँ एनए के छिपाई जा रही है। नीचे दिए गए उदाहरण में तालिका में आयाम 3x7 है लेकिन दूसरी पंक्ति में तीसरी पंक्ति में केवल एक मान है। तीसरी पंक्ति में शेष कोशिकाएं 'एनए' हैं।जब knitr

जब मैं दस्तावेज़ संकलन, वहाँ तीसरी पंक्ति में एनए के मुद्रण से knitr को रोकने के लिए एक रास्ता है, इसलिए एनए के बजाय मैं सिर्फ रिक्त स्थान है?

यह इस तरह लगता है एक सरल समाधान किया जाना चाहिए, लेकिन मैं ऐसा नहीं हो सकता है, जहां/कैसे एनए के छिपाने के लिए। क्या यह एक बदलाव है जो मुझे डेटा फ्रेम में बनाने की ज़रूरत है या क्या यह एक xtable या knitr विकल्प है जिसे मुझे बदलने की ज़रूरत है?

नमूना knitr कोड:

\documentclass{article} 

<< data1, echo=FALSE, warning=FALSE, message=FALSE >>= 

require(xtable) 

    FY.2014 <- 0.019 
    FY.2015 <- ((7000) - (6925.9))/(6925.9) 
    FY.2016 <- ((8000) - (7000)) /(7000) 
    FY.2017 <- ((9000) - (8000)) /(8000) 
    FY.2018 <- ((10000) - (9000)) /(9000) 
    FY.2019 <- ((11000) - (10000))/(10000) 

    PC  <- data.frame(FY.2014, FY.2015, FY.2016, FY.2017, FY.2018, FY.2019) 
    PC.1 <- paste(round(PC*100, digits=1), "%", sep="") 


FY.2014 <- 130.1 
FY.2015 <- 7000 - 6925.9 
FY.2016 <- 8000 - 7000 
FY.2017 <- 9000 - 8000 
FY.2018 <- 10000 - 9000 
FY.2019 <- 11000 - 10000 

AB  <- data.frame(FY.2014, FY.2015, FY.2016, FY.2017, FY.2018, FY.2019) 
AB.1 <- paste(round(AB , digits = 2)) 


    FY.2014 <- as.numeric(c("")) 
    FY.2015 <- 7242.9 
    FY.2016 <- as.numeric(c("")) 
    FY.2017 <- as.numeric(c("")) 
    FY.2018 <- as.numeric(c("")) 
    FY.2019 <- as.numeric(c("")) 

    PF  <- data.frame(FY.2014, FY.2015, FY.2016, FY.2017, FY.2018, FY.2019) 
    PF.1 <- paste(round(PF , digits = 2)) 

    FTable <- rbind(PC.1, AB.1, PF.1) 

     rownames(FTable) <- c('Percent Change from the Previous Year', 
          'Absolute Change from Previous Year', 
          'December CY13 Forecast') 
     colnames(FTable) <- c('FY 2014', 'FY 2015', 'FY 2016', 'FY 2017', 'FY 2018', 'FY 2019') 

@ 

\begin{document} 
<<Table 1 , echo=FALSE, eval=TRUE, results='asis', fig.width = 5, fig.height = 2,  message=FALSE, fig.align='center', warning=FALSE>>= 

      xFTable <- xtable(FTable, big.mark=",") 

      print(xFTable) 
@ 
\end{document} 
+1

आप 'प्रिंट की कोशिश कर सकते (xFTable, na.print =" ")' आप दस्तावेज़ मुद्रित करने के लिए 'print.default' या एक अलग प्रिंट विधि का उपयोग करना पड़ सकता है। लेकिन 'na.print' काफी कुछ प्रिंट तरीकों –

+0

में प्रकट होता है या यदि आप' LaTeX के बजाय markdown' तालिकाओं के साथ खुश हैं, तो आप इस्तेमाल कर सकते हैं [ 'pander'] (http://rapporter.github.io/pander/ # markdown-टेबल) जहां आप कैसे '' missing' तर्क या [वैश्विक विकल्प] के साथ मुद्रित करने के लिए NA's निर्दिष्ट कर सकते हैं (http://rapporter.github.io/pander/#general-options)। – daroczig

+0

सुझाव के लिए धन्यवाद लेकिन मैंने बिना किसी सफलता के प्रिंट (xFTable, na.print = "") की कोशिश की। मुझे xtable दस्तावेज में na.print नहीं मिला। – Matt

उत्तर

4

चाल का उपयोग मैं एक सा जानवर बल है, लेकिन यह काम करने के लिए प्रकट होता है (मेरे उपयोग-मामले में, वह यह है कि):

out <- knitr::kable(...) 
cat(gsub('\\bNA\\b', ' ', out), sep='\n') 
+0

मुझे लगता है कि '' \\ बीएनए \\ n'' ''\\ बीएनए \\ बी' होना चाहिए? – YvanR

+0

यह उत्तर अब 'knitr' में हालिया परिवर्तनों के बाद प्रासंगिक नहीं होना चाहिए। मैं इसके बजाए @ svannoy के जवाब का उपयोग करने का सुझाव देता हूं। – r2evans

+0

मेरे मामले में (पीडीएफ को Knit) यह, बहुत उपयोगी निकला के बाद से "नए" समाधान काम नहीं किया - धन्यवाद! – Will

21

आप ब्लैंक के लिए knitr विकल्प knitr.kable.na = '' '' सेट कर सकते हैं, या जो भी चरित्र आप चाहते हैं।

```{r echo=FALSE, results='asis'} 
    options(knitr.kable.NA = '') 
    knitr::kable(lowerTri, digits=2) 
``` 
+0

आप इसे कहां सेट करते हैं? यह मेरे लिए काम नहीं करता है। क्या यह 'knitr.kable.na' या 'knitr.kable.NA' है? क्या आप सरल या डबल कोट्स का उपयोग करते हैं? – Costin

+2

@ कोस्टिन, मैंने संदर्भ जोड़ा है, मैं इसे कोड खंड में रखता हूं। – svannoy

+2

आपको 'knitr' संस्करण 1.15 या ऊपर का उपयोग करने की आवश्यकता है: https://github.com/yihui/knitr/releases/tag/v1.15। – Matt

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