我想将一些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")
})
```
答案 0 :(得分:1)
也许您正在寻找这个:
```{r}
global <- reactiveValues(df = df)
observeEvent(input$data1, global$df[1, 1] <- input$data1)
renderPrint(global$df)
```