我正在使用以下.rmd代码从R Markdown创建HTML页面:
---
title: 'TITLE'
author: "NAME"
date: "DATE"
output:
html_document:
keep_md: yes
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r}
(n1 <- nrow(perf)) # Save the number of rows in 'perf'
(m1 <- ncol(perf)) # Save the number of columns in 'perf'
```
当我编织我的页面时,它会以单独的块返回我的代码和输出,但我希望它们都包含在我的.md中的一个块中。结果如下:
但是,我希望各部分之间的空格消失,代码和输出都包含在一个部分中。这可能吗?
我打算把它放在GitHub上,所以无论如何都要为GitHub特定的降价做这项工作会有所帮助(我知道这不是我当前配置的.md,但这是我的下一步)。
答案 0 :(得分:3)
非常简单,在.rmd文件中的代码块规范中包含规范collapse = TRUE
:
```{r, collapse = TRUE}
(n1 <- nrow(perf)) # Save the number of rows in 'perf'
(m1 <- ncol(perf)) # Save the number of columns in 'perf'
```
答案 1 :(得分:0)
我有两种可能的解决方案:
<强> 1。将每个源代码块与以下输出块组合
您可以尝试在RMarkdown脚本中添加以下JavaScript块:
<script>
$chunks = $('pre.r');
$chunks.each(function() {
if ($(this).next().is('pre:not(r)')) {
var newc = '<br>' + $(this).next('pre').children('code').html();
var oldc = $(this).children('code').html();
$(this).children('code').html(oldc.concat(newc));
$(this).next('pre').remove();
}
})
</script>
<强> 2。将属于一个R-chunk的所有内容放入一个框
或者,如果您想在一个框中同时拥有属于同一个RMarkdown块的所有 html块,请尝试
<script>
$chunks = $('pre.r');
$chunks.each(function() {
while($(this).next().is('pre')) {
var newc = '<br>' + $(this).next('pre').children('code').html();
var oldc = $(this).children('code').html();
$(this).children('code').html(oldc.concat(newc));
$(this).next('pre').remove();
}
})
</script>