隐藏NA';在knitr中打印数据帧时
我正在尝试使用xtable从数据帧打印knitr中的表。下例中的表的维度为3x7,但第三行在第二列中只有一个值。第三行的其余单元格为“NA” 当我编译文档时,有没有办法防止knitr打印第三行的NA,所以我没有NA,只有空白 感觉这应该是一个简单的解决方案,但我不知道在哪里/如何隐藏NA。这是我需要对数据帧进行的更改,还是我需要更改的xtable或knitr选项 knitr代码示例:隐藏NA';在knitr中打印数据帧时,r,knitr,na,xtable,R,Knitr,Na,Xtable,我正在尝试使用xtable从数据帧打印knitr中的表。下例中的表的维度为3x7,但第三行在第二列中只有一个值。第三行的其余单元格为“NA” 当我编译文档时,有没有办法防止knitr打印第三行的NA,所以我没有NA,只有空白 感觉这应该是一个简单的解决方案,但我不知道在哪里/如何隐藏NA。这是我需要对数据帧进行的更改,还是我需要更改的xtable或knitr选项 knitr代码示例: \documentclass{article} << data1, echo=FALSE, wa
\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}
\documentclass{article}
>=
需要(xtable)
2014财年我使用的技巧有点暴力,但似乎有效(在我的用例中,即):
out您可以为空格或您想要的任何字符设置knitr选项knitr.kable.na=''
```{r echo=FALSE, results='asis'}
options(knitr.kable.NA = '')
knitr::kable(lowerTri, digits=2)
```
您可以尝试print(xFTable,na.print=“”)
您可能必须使用print.default
或其他打印方法来打印文档。但是na.print
出现在很多打印方法中,或者如果您对markdown
表而不是LaTeX感到满意,那么您可以使用where指定如何使用missing
参数或来打印na
s。感谢您的建议,但是我尝试了打印(xFTable,na.print=”“),但没有成功。我在xtable文档中没有找到na.print。我想'\\bNA\\n'
应该是'\\bNA\\b'
?鉴于knitr
最近的更改,这个答案应该不再相关。我建议改用@svhatter的答案。在我的例子(Knit to pdf)中,它非常有用,因为“更新的”解决方案不起作用——谢谢!你把它放在哪里?这对我不起作用。是knitr.kable.na
还是knitr.kable.na
?您使用简单引号还是双引号?@Costin,我添加了上下文,我将其放在代码块中。您需要使用knitr
1.15版或更高版本:。此解决方案也适用于papaja
sapa_表
功能(添加注释以帮助互联网搜索引擎)@svhatter是否可以给出一个格式化字符串,例如“null”,但它以斜体打印?
```{r echo=FALSE, results='asis'}
options(knitr.kable.NA = '')
knitr::kable(lowerTri, digits=2)
```