2015-09-30 12 views
5

Kısa bir süre önce, Ratchdown'daki Slidy sunum şablonunu kullanmaya başladım ve her slaydın daha fazla içerik için aşağı kaydırmanıza nasıl izin verdiğini beğendim.Rmarkdown sunumunda (slidy) kod yankılamadan önce yığın çıktısı nasıl görüntülenir?

Bunu kullanmamın bir yolu öğrencilerimle parselleri paylaşmaktır (aşağıdaki örnek koda bakın). Tek bir slaytta, çizimi, aşağı doğru kaydırılarak görüntülenebilecek çizim oluşturmak için kullanılan tam kod ile birlikte görüntüleyebilirim.

--- 
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(options = list(width = "100%", height = "700px"), 
    ui = (fluidPage(
inputPanel(
    selectInput("n_breaks", label = h3("Number of bins:"), 
       choices = c(10, 20, 35, 50), selected = 20), 

    sliderInput("bw_adjust", label = h3("Bandwidth:"), 
       min = 0.2, max = 2, value = 1, step = 0.2)), 
    plotOutput("stuff", height = "650px") 

)), 

server = function(input,output,session) { 

    output$stuff = renderPlot({ 
    hist(faithful$eruptions, probability = TRUE, 
breaks = as.numeric(input$n_breaks), 
xlab = "Duration (minutes)", main = "Geyser eruption duration", 
col = "bisque", border = 1) 

    dens <- density(faithful$eruptions, adjust = input$bw_adjust, lwd = 2, col = "blue") 
    lines(dens, col = "blue") 
}) 
}) 
``` 

I having varsayılan davranış istediğin hale tersidir kod sonuçları, daha önce kod parçalarını yankı olmasıdır.

Açıkçası bunu, ilk olarak echo=FALSE parça numarası ve echo=TRUE, fig.show='hide' öğesinin bulunduğu iki kod parçası ekleyerek çözebilirim ancak bu, her iki kod parçasının da eşleştiğinden emin olmamı gerektirir. Kodun yankılanmasından önce grafiklerin görüntülenmesini sağlamak için bu sırayı nasıl tersine çevirebilirim?

Her zaman olduğu gibi yardım için teşekkürler.

cevap

4

Sunumunuzun gövdesi için aşağıdakileri istediğinizle yapabilmeniz gerekir.

## Slide with Interactive Plot 

```{r thecode, echo=FALSE, warning=FALSE, message=FALSE} 
shinyApp(options = list(width = "100%", height = "700px"), 
    ui = (fluidPage(inputPanel(
    selectInput("n_breaks", label = h3("Number of bins:"), 
       choices = c(10, 20, 35, 50), selected = 20), 
    sliderInput("bw_adjust", label = h3("Bandwidth:"), 
       min = 0.2, max = 2, value = 1, step = 0.2)), 
    plotOutput("stuff", height = "650px"))), 

server = function(input,output,session) { 
    output$stuff = renderPlot({ 
    hist(faithful$eruptions, probability = TRUE, 
     breaks = as.numeric(input$n_breaks), xlab = "Duration (minutes)", 
     main = "Geyser eruption duration", col = "bisque", border = 1) 
    dens <- density(faithful$eruptions, adjust = input$bw_adjust, 
        lwd = 2, col = "blue") 
    lines(dens, col = "blue")}) 
    }) 
``` 

```{r thecode, eval=FALSE} 
``` 

olduğu sonucunu verir:

  • (burada thecode) aynı ada sahip iki kod parçalarını oluşturun.
  • Kodun yazdırılmaması için ilk kod kümesinde, echo = FALSE ayarlayın, ancak eşik değeri değerlendirilir.
  • İkinci kod kümesinde, echo = TRUE'u ayarlayın, ancak yığını tamamen boş tutun (çitler arasında boş satırlar da kalmayın).
+0

Fantastic! Kod parçalarına atanan isimlerin bu şekilde kullanılabileceğini bilmiyordum. Yardım ettiğin için teşekkür ederim! –

İlgili konular