Ich versuche, eine Tabelle in Knitr aus einem Datenrahmen mit Xxtable zu drucken. Die Tabelle im Beispiel unten hat die Dimensionen 3x7, aber die dritte Zeile hat nur einen Wert in der zweiten Spalte. Der Rest der Zellen in der dritten Reihe ist 'NA'.Verbergen von NA beim Drucken eines Datenrahmens in Knit
Wenn ich das Dokument kompiliere, gibt es eine Möglichkeit zu verhindern, dass knitr die NAs in der dritten Zeile druckt, also habe ich anstelle von NA nur Leerzeichen?
Es fühlt sich an, als ob dies eine einfache Lösung sein sollte, aber ich kann nicht herausfinden, wo/wie die NA's zu verbergen sind. Ist es eine Änderung, die ich am Datenrahmen vornehmen muss oder ist es eine xtable oder knitr Option, die ich ändern muss?
Probe knitr Code:
\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}
Sie könnten versuchen 'print (xFTable, na.print =" ")' Möglicherweise müssen Sie 'print.default' oder eine andere Druckmethode verwenden, um das Dokument zu drucken. Aber 'na.print' erscheint in einigen Druckmethoden –
Oder wenn Sie mit' Markdown' Tabellen anstelle von LaTeX zufrieden sind, dann könnten Sie ['pander'] (http://rapporter.github.io/pander/ # markdown-tables) Hier können Sie festlegen, wie 'NA' mit dem 'missing' Argument oder [globale Option] (http://rapporter.github.io/pander/#general-options) gedruckt werden sollen. – daroczig
Danke für den Vorschlag, aber ich habe versucht, drucken (xFTable, na.print = "") ohne Erfolg. Ich habe na.print in der xtable-Dokumentation nicht gefunden. – Matt