将 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)
```
我想将一些 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)
```