,r,string,na,kable"/>

首页 > 解决方案 > 有没有办法得到“" `kable` 打印的字符串?

问题描述

我有一个字符串<NA>在字符列中的数据框。如果我应用于kable此数据框,则该字符串不会出现。实际上,它与数据框无关,如下例所示:

kable(c("a",NA,"b","<NA>","c","NA","d"))

打印了First 和 last NA(寻找我的问题,我已经看到它取决于options(knitr.kable.NA),但中间<NA>不是。

您可以通过此测试在下面看到我的输入和输出文件。

在此处输入图像描述

和会话信息:

> sessionInfo()
R version 3.5.2 (2018-12-20)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

Matrix products: default

locale:
[1] LC_COLLATE=Spanish_Spain.1252  LC_CTYPE=Spanish_Spain.1252   
[3] LC_MONETARY=Spanish_Spain.1252 LC_NUMERIC=C                  
[5] LC_TIME=Spanish_Spain.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods  
[7] base     

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.2       rstudioapi_0.9.0 knitr_1.24      
 [4] magrittr_1.5     ggpubr_0.2.1     tidyselect_0.2.5
 [7] munsell_0.5.0    colorspace_1.4-0 R6_2.4.0        
[10] rlang_0.4.0      factoextra_1.0.5 highr_0.7       
[13] dplyr_0.8.3      tools_3.5.2      grid_3.5.2      
[16] gtable_0.2.0     xfun_0.8         htmltools_0.3.6 
[19] digest_0.6.20    yaml_2.2.0       lazyeval_0.2.2  
[22] assertthat_0.2.1 tibble_2.1.3     ggsignif_0.5.0  
[25] crayon_1.3.4     purrr_0.3.2      ggplot2_3.2.0   
[28] bitops_1.0-6     rsconnect_0.8.13 RCurl_1.95-4.12 
[31] ggrepel_0.8.1    evaluate_0.14    glue_1.3.1      
[34] rmarkdown_1.14   compiler_3.5.2   pillar_1.4.2    
[37] scales_1.0.0     pkgconfig_2.0.2 

和 RStudio 版本 1.1.463。

为什么?有没有option打印出来的?其他方式?

谢谢!

标签: rstringnakable

解决方案


我认为有两种方法可以解决这个问题,根据所需的输出进行选择:

R-降价:

---
title: "testNA"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
df <- data.frame(a= c ("a",NA,"b","<NA>","c","NA","d"), b = 1:7,
                 stringsAsFactors = FALSE)
```

```{r}
knitr::kable(df)
```

```{r}
knitr::kable(df, format="html")
```

```{r}
ischr <- sapply(df, function(a) is.character(a) | is.factor(a))
df[ischr] <- lapply(df[ischr], htmltools::htmlEscape)
knitr::kable(df)
```

rmarkdown 输出,带有损坏、修复 1 和修复


推荐阅读