RMarkdown: оборачивать код кусками, но сохранять перерывы после канала - PullRequest
3 голосов
/ 03 августа 2020
• 1000 за край страницы).

enter image description here

After reading around a bit (including здесь и вкратце попробовав пакет styler , я обнаружил, что использование tidy=TRUE и tidy.opts = list(width.cutoff=60) работает (см. ниже)

knitr::opts_chunk$set(tidy.opts=list(width.cutoff=60),tidy=TRUE)

Примечание: возможно, вам потребуется установить formatR.

введите описание изображения здесь

Но, к сожалению, это разрушает формат кода с конвейером %>%, сохраняя формат каналов и позволяя коду сбегать со страницы.

Есть ли способ сделать это правильно? Чтобы и текст оставался на странице, и структура оставалась на месте?

Спасибо за вашу помощь!

Для доработки:

Заголовок для обоих:

---
title: "R Notebook"
output: pdf_document
---

Определяет чанк для второго изображения

knitr::opts_chunk$set(tidy.opts=list(width.cutoff=60),tidy=TRUE)

Пример кода для обоих:

data(mtcars)
library(tidyverse)
variable_1 <- 10
variable_2 <- 50
variable_3 <- 30
variable_4 <- 5
variable_5 <- 100
variable_6 <- 25
variable_7 <- 600
mtcars %>% 
  mutate(mpg = ifelse(mpg>18,
                   yes = (variable_1*variable_2)*variable_3 + variable_4 + variable_5 + variable_6 + variable_7,
                   no = mpg)) %>% 
  select(mpg,disp) %>% 
  group_by(mpg) %>% 
  summarise(mean(mpg)) %>% 
  ungroup -> df

Я также добавляю SessionInfo() для версий пакета et c.

R version 4.0.0 (2020-04-24)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19041)

Matrix products: default

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

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

other attached packages:
[1] forcats_0.5.0   stringr_1.4.0   dplyr_1.0.0     purrr_0.3.4     readr_1.3.1     tidyr_1.0.2     tibble_3.0.0   
[8] ggplot2_3.3.0   tidyverse_1.3.0

loaded via a namespace (and not attached):
 [1] tidyselect_1.1.0 xfun_0.15        haven_2.2.0      lattice_0.20-41  colorspace_1.4-1 vctrs_0.3.0     
 [7] generics_0.0.2   htmltools_0.4.0  yaml_2.2.1       rlang_0.4.6      pillar_1.4.3     glue_1.4.1      
[13] withr_2.2.0      DBI_1.1.0        dbplyr_1.4.3     modelr_0.1.6     readxl_1.3.1     lifecycle_0.2.0 
[19] munsell_0.5.0    gtable_0.3.0     cellranger_1.1.0 rvest_0.3.5      evaluate_0.14    knitr_1.28      
[25] fansi_0.4.1      broom_0.5.6      Rcpp_1.0.4.6     backports_1.1.6  scales_1.1.0     jsonlite_1.6.1  
[31] fs_1.4.1         hms_0.5.3        packrat_0.5.0    digest_0.6.25    stringi_1.4.6    grid_4.0.0      
[37] cli_2.0.2        tools_4.0.0      magrittr_1.5     crayon_1.3.4     pkgconfig_2.0.3  ellipsis_0.3.0  
[43] xml2_1.3.1       reprex_0.3.0     lubridate_1.7.8  assertthat_0.2.1 rmarkdown_2.3    httr_1.4.1      
[49] rstudioapi_0.11  R6_2.4.1         nlme_3.1-147     compiler_4.0.0  
...