首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Rmarkdown演示文稿(slidy)中回显代码之前显示块输出?

如何在Rmarkdown演示文稿(slidy)中回显代码之前显示块输出?
EN

Stack Overflow用户
提问于 2015-09-30 14:57:29
回答 1查看 1.2K关注 0票数 6

最近,我开始在Rmarkdown中使用滑滑的演示模板,并喜欢每一张幻灯片如何允许您向下滚动以获得更多内容。

我使用它的一种方法是与我的学生分享情节(参见下面的示例代码)。在一张幻灯片上,我可以显示该图以及用于创建该图的确切代码,该代码可通过向下滚动查看。

代码语言:javascript
复制
---
title: Echo Code Chunks After Code Results
subtitle: Thanks For Your Help
author: Me
date: "today"
output: slidy_presentation
runtime: shiny
---

## Slide with Interactive Plot

```{r, echo=TRUE, warning=FALSE, message=FALSE}

shinyApp(选项=列表(宽度= "100%",高度=“700 100”),

ui =( fluidPage(

inputPanel(

selectInput("n_breaks",label =h3(“回收箱数:”),

代码语言:javascript
复制
          choices = c(10, 20, 35, 50), selected = 20),

sliderInput("bw_adjust",label =h3(“带宽:”),

代码语言:javascript
复制
          min = 0.2, max = 2, value = 1, step = 0.2)),
代码语言:javascript
复制
plotOutput("stuff", height = "650px")

)),

server =函数(输入、输出、会话){

输出$stuff= renderPlot({

(忠实的火山爆发,概率=真实,

打断= as.numeric(input$n_breaks),

xlab =“持续时间(分钟)”,main =“喷泉喷发时间”,

col = "bisque",边界= 1)

dens <-密度(忠实的$喷发,调整= input$bw_adjust,lwd = 2,col =“蓝色”)

线(齿,形=“蓝”)

})

})

代码语言:javascript
复制

我遇到的问题是,默认行为是在代码结果之前回显代码块,这与我想要的相反。

显然,我可以通过插入两个代码块来解决这个问题,其中第一个代码块选项echo=FALSE,第二个代码块具有echo=TRUE, fig.show='hide',但这要求我确保这两个代码块匹配。如何在代码回显之前反转这个顺序,以使图形显示。

一如既往,谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-30 15:12:11

对于演示文稿的正文,您应该能够用下面的内容做您想做的事情。

代码语言:javascript
复制
## Slide with Interactive Plot

```{r thecode, echo=FALSE, warning=FALSE, message=FALSE}

shinyApp(选项=列表(宽度= "100%",高度=“700 100”),

ui =(fluidPage(InputPanel)

代码语言:javascript
复制
selectInput("n_breaks", label = h3("Number of bins:"), 
代码语言:javascript
复制
            choices = c(10, 20, 35, 50), selected = 20),
代码语言:javascript
复制
sliderInput("bw_adjust", label = h3("Bandwidth:"), 
代码语言:javascript
复制
            min = 0.2, max = 2, value = 1, step = 0.2)),
代码语言:javascript
复制
plotOutput("stuff", height = "650px"))),

server =函数(输入、输出、会话){

输出$stuff= renderPlot({

代码语言:javascript
复制
hist(faithful$eruptions, probability = TRUE, 
代码语言:javascript
复制
     breaks = as.numeric(input$n_breaks), xlab = "Duration (minutes)", 
代码语言:javascript
复制
     main = "Geyser eruption duration", col = "bisque", border = 1)
代码语言:javascript
复制
dens <- density(faithful$eruptions, adjust = input$bw_adjust, 
代码语言:javascript
复制
                lwd = 2, col = "blue")
代码语言:javascript
复制
lines(dens, col = "blue")})

})

代码语言:javascript
复制
```{r thecode, eval=FALSE}
代码语言:javascript
复制

这就是:

  • 创建两个名称相同的代码块(此处为thecode)。
  • 在第一个代码块中,设置echo = FALSE,这样代码就不会打印出来,但是它将被计算出来。
  • 在第二个代码块中,设置echo = TRUE,但是保持块完全为空(在栅栏之间也没有空行)。
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32869378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档