将 Flexdashboard 反应性输入值分配给数据框单元格

Assign Flexdashboard reactive input value to dataframe cell

我想将一些 flexdashboard 反应性输入值复制到数据框,以便我可以将它们导出到文件。此代码适用于 y 作为标量:

y <- reactive({input$data1})

但是此代码不使用 df 具有声明为数字的空列的数据框:

df[1, 1] <- reactive({input$data1})

错误:子分配类型修复中的不兼容类型(从闭包到双精度)

有人可以用正确的语法帮助我完成作业吗?谢谢...

不确定如何提交可重现的代码。这是此问题的完整 .Rmd:

---
title: "Untitled"
runtime: shiny
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
---

```{r setup, include=FALSE}
library(flexdashboard)
library(shiny)

df <- data.frame(MinVals = numeric(), MaxVals = numeric())

```

Inputs {.sidebar data-width=275}
-----------------------------------------------------------------------

```{r}

tags$h3("Test It")

sliderInput("data1",
             label = "Some data",
             value = 50,
             min = 0,
             max = 100,
             step = 5,
             width = 200)


```

Column {data-width=350}
-----------------------------------------------------------------------

### Chart A

```{r}

df[1, 1] <- reactive({input$data1})  # does not work

y <- reactive({input$data1}) # this works

renderValueBox({
    x <- y()
  valueBox(
    value = x,
    icon = "fa-area-chart",
    color = "orange")
})

```

也许您正在寻找这个:

```{r}
global <- reactiveValues(df = df)
observeEvent(input$data1, global$df[1, 1] <- input$data1)
renderPrint(global$df)
```