R Markdown 和 Shiny 交换对象

R Markdown and Shiny exchange of objects

我是第一次创建 R Markdown 文档,我想在一个文档中呈现 Markdown 文本和 shiny 组件,但我不知道如何在 Markdown 和 Shiny 之间交换对象 - 任何有帮助吗?

---
runtime: shiny
output: html_document
---
```{r echo=FALSE}
 subjects<-c(letters[1:20])
 inputPanel(selectInput("subject_of_interest","",subjects))
 selected_subject<-input$subject_of_interest # This is failing with error "Operation not allowed without an active reactive context. (You tried to do something that can only be done from inside a reactive expression or observer.)"
```
The selected subject `r selected_subject` is.....

我需要根据所选主题生成其他文本项。有办法吗?

以下内容将是您追求的目标的开始。

因为你有一个 selectInput 你会想要一些东西是 reactive 即对用户输入做出反应。因此,您创建了一个 reactive function 来吐出您想要的文本。这将是让您入门的基础知识。


title: "Untitled"
runtime: shiny
output: html_document
---

```{r, echo=FALSE}
subjects <- c(letters[1:20])
inputPanel(
 inputPanel(selectInput("subject","Select Subject",subjects,"a"))
)
subject <- reactive({
  paste0(
    "The selected subject ",
  input$subject)
})
output$text <- renderText({ 
          subject()
     })
mainPanel(
      textOutput("text")
    )
```

内联编辑

如您所愿,抱歉,如果您需要内联:

---
title: "Untitled"
runtime: shiny
output: html_document
---

```{r, echo=FALSE}
subjects <- c(letters[1:20])
inputPanel(
 inputPanel(selectInput("subject","Select Subject",subjects,"a"))
)
subject <- reactive({
     input$subject
})
output$text <- renderText({ 
          subject()
     })

```
the selected subject `r textOutput("text")`