我找到了几个例子(How to extract the content of SQL-Files using R,Use loop to generate section of text in rmarkdown,Automating the generation of preformated text in Rmarkdown using R),但没有一个能在我的例子中使用包含图形的嵌套部分。
看起来,我需要一些方法来处理包含的代码块(例如cat("```{r, fig.width=8.4, fig.height=7}\n") ... cat("```\n")
),但我找不到方法。
编辑:我找到了此here,但仍无法使其工作
kexpand <- function(chunkname, fig.width, fig.height) {
cat(knitr::knit(text = knitr::knit_expand(text =
sprintf("```{r %s, fig.width=%s, fig.height=%s}\n.chunk_code\n",
chunkname, fig.width, fig.height))))
}
然后在块中:
.chunk_code <- leaflet() %>%
addTiles() %>%
addProviderTiles(providers$OpenStreetMap, group = "OSM") %>%
addProviderTiles(providers$Stamen.TonerLite, group = "Toner Lite") %>%
addLayersControl(baseGroups = c("OSM", "Toner Lite")) %>%
addCircleMarkers(lat = 47, lng = 9, popup = ranges[i])
kexpand(i, 8.4, 7)
编辑2:有一个related question。虽然它看起来很接近,但仍然不起作用。另请参阅我的方法here,我使用它是因为我有嵌套列表-我不希望所有的图都彼此相邻。
所有部分都包含相同类型的数字,但内容当然有所变化。下面是
- 我目前为止最好的
- 引用Rmd,其中显示预期输出,但带有复制粘贴块
示例:
一个二个一个一个
来自xfun::会话信息('knitr')
R version 3.5.1 (2018-07-02)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200), RStudio 1.1.453
Locale:
LC_COLLATE=German_Switzerland.1252 LC_CTYPE=German_Switzerland.1252 LC_MONETARY=German_Switzerland.1252
LC_NUMERIC=C LC_TIME=German_Switzerland.1252
Package version:
evaluate_0.14 glue_1.2.0 graphics_3.5.1 grDevices_3.5.1 highr_0.7 knitr_1.23 magrittr_1.5
markdown_0.8 methods_3.5.1 mime_0.5 stats_3.5.1 stringi_1.2.3 stringr_1.3.1 tools_3.5.1
utils_3.5.1 xfun_0.7 yaml_2.1.19
3条答案
按热度按时间bnl4lu3b1#
试试这样
Title level 1
This is an R Markdown document.
Title level 2 (tab) {.tabset}
Title level 3 (tab) {.tabset}
qlfbtfca2#
我试图这样做的阴谋,但上述代码不为我工作。
然而,我查找了R-markdown cookbook,发现
knit_child
函数按预期工作。3zwtqj6y3#
不知何故,这个问题得到了解答here
诀窍是使用
tagList(html)