Удалите скобки и хэши при печати кода из функции read_line () в R - PullRequest
0 голосов
/ 28 апреля 2020

Я встраиваю R скрипты, не запуская их в файле RMarkdown .

Когда я встраиваю скрипт в R в свой файл Rmarkdown, не запуская его, и я вяжу в PDF или HTML, каждая строка содержит два хэша и заключена в скобки.

Я хотел бы удалить эти хэши и внешние скобки.

Это код, реализованный в моем файле .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] ""                                       

Вы также можете видеть, что дополнительные символы пишутся, когда речь идет о внутренних скобках.

Как мне оформить код при преобразовании в другие форматы?

1 Ответ

1 голос
/ 29 апреля 2020

Используйте параметр чанка 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")
```
...