我試圖用xtable在數據框中的knitr中打印表格。下例中的表格的尺寸爲3x7,但第三行只有一個值,位於第二列。第三行其餘的單元格是'NA'。在knitr中打印數據幀時隱藏NA's
當我編譯文檔時,是否有辦法防止knitr在第三行打印NA,所以不是NA,而只是有空格?
感覺這應該是一個簡單的解決方案,但我不知道在哪裏/如何隱藏NA。這是我需要對數據框做出的改變,還是我需要改變的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}
您可以嘗試'print(xFTable,na.print =「」)'您可能需要使用'print.default'或其他打印方法來打印文檔。但'na.print'出現在相當多的打印方法中 –
或者如果您對使用'markdown'表而非LaTeX感到滿意,那麼您可以使用['pander'](http://rapporter.github.io/pander/ #markdown-tables)您可以在其中指定如何使用'missing'參數或[全局選項](http://rapporter.github.io/pander/#general-options)打印'NA'。 – daroczig
感謝您的建議,但我嘗試打印(xFTable,na.print =「」)沒有任何成功。我在xtable文檔中找不到na.print。 – Matt