Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
隐藏NA';在knitr中打印数据帧时_R_Knitr_Na_Xtable - Fatal编程技术网

隐藏NA';在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

我正在尝试使用xtable从数据帧打印knitr中的表。下例中的表的维度为3x7,但第三行在第二列中只有一个值。第三行的其余单元格为“NA”

当我编译文档时,有没有办法防止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}
\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
s
apa_表
功能(添加注释以帮助互联网搜索引擎)@svhatter是否可以给出一个格式化字符串,例如“null”,但它以斜体打印?
```{r echo=FALSE, results='asis'}
    options(knitr.kable.NA = '')
    knitr::kable(lowerTri, digits=2)
```