在R中的read_line()函数中打印代码时,去掉括号和哈希。

问题描述 投票:0回答:1

我正在嵌入 不在RMarkdown中运行R脚本。 文件。

当我在Rmarkdown文件中嵌入一个脚本而不运行它,并将其编织成PDF或HTML时,每一行都包含两个哈希值,并被括在括号中。

我想去掉这些哈希值和外括号。

这是在我的Rmarkdown文件中实现的代码 .Rmd 文件。

```{r include=FALSE}
library(readr)
script1 <- read_lines("script1.R")
```

```{r echo=FALSE}
print(script1)
```

现在让我们看看以下代码 script1.R

  # 1. Cargamos los paquetes necesarios ####
  library(readODS)
  library(dplyr)
  library(purrr)
  library(tidyr)
  library(ggplot2)
  library(gridExtra)
  library(ggpubr)
  library(readr)

  # 2. Cargamos los datos desde el archivo de LibreOffice Calc ####
  path <- "Data/xy_coord_div.ods"

  # Creamos una lista con los datos de todos los tipos de dientes
  xy_coord <- path %>%
    ods_sheets() %>%
    set_names() %>%
    map(read_ods, skip = 1, path = path)

当我编织的时候 .Rmd 文件转为HTML,我看到那段代码是这样的。

##  [1] "  # 1. Cargamos los paquetes necesarios ####"                                             
##  [2] "  library(readODS)"                                                                       
##  [3] "  library(dplyr)"                                                                         
##  [4] "  library(purrr)"                                                                         
##  [5] "  library(tidyr)"                                                                         
##  [6] "  library(ggplot2)"                                                                       
##  [7] "  library(gridExtra)"                                                                     
##  [8] "  library(ggpubr)"                                                                        
##  [9] "  library(readr)"                                                                         
## [10] ""                                                                                         
## [11] "  # 2. Cargamos los datos desde el archivo de LibreOffice Calc ####"                      
## [12] "  path <- \"Data/xy_coord_div.ods\""                                                      
## [13] ""                                                                                         
## [14] "  # Creamos una lista con los datos de todos los tipos de dientes"                        
## [15] "  xy_coord <- path %>%"                                                                   
## [16] "    ods_sheets() %>%"                                                                     
## [17] "    set_names() %>%"                                                                      
## [18] "    map(read_ods, skip = 1, path = path)"                                                 
## [19] ""                                       

你也可以看到,当它处理内括号时,会写上额外的符号。

在转换为其他格式的时候,我怎么能把代码的风格化呢?

r r-markdown markdown knitr
1个回答
1
投票

使用分块选项 comment='' 去掉哈希值,并使用 cat() 以摆脱括号。

```{r include=FALSE}
script1 <- readLines("script1.R")
```

```{r echo=FALSE, comment=''}
cat(script1, sep = '\n')
```

或者一步到位,用 xfun::file_string():

```{r echo=FALSE, comment=''}
xfun::file_string("script1.R")
```
© www.soinside.com 2019 - 2024. All rights reserved.