R 闪亮标记中的奇怪行为

R 闪亮标记中的奇怪行为,r,shiny,r-markdown,R,Shiny,R Markdown,在编写一个闪亮的RMarkdown HTML文档时,我有一些非常奇怪的行为。在下面的MWE中,我只是(1)包含一个滑块输入,(2)在df中包含一列作为输入值,然后(3)返回df。下面的MWE返回错误错误:列“b”的长度必须为1(行数),而不是0。当我给b赋值时,如果我把输入值的乘法取出来,文档就不会有问题了。MWE: --- output: html_document runtime: shiny --- ```{r setup, include=FALSE} knitr::opts_chun

在编写一个闪亮的RMarkdown HTML文档时,我有一些非常奇怪的行为。在下面的MWE中,我只是(1)包含一个滑块输入,(2)在df中包含一列作为输入值,然后(3)返回df。下面的MWE返回错误
错误:列“b”的长度必须为1(行数),而不是0
。当我给b赋值时,如果我把输入值的乘法取出来,文档就不会有问题了。MWE:

---
output: html_document
runtime: shiny
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(dplyr)
```

Testing

```{r eruptions, echo=FALSE}
# Input slider
sliderInput("test", "Test", value = 0.5, min = 0, max = 1, width = "100%")

# Pre-define df
output <- reactiveValues(data = data.frame(a = 20))

observe({

  output$data <- output$data %>%
    # Manipulate df
    mutate(b = input$test * 2)

})

# Return df
renderDataTable({output$data})

```
---
输出:html\u文档
运行时间:闪亮
---
```{r设置,include=FALSE}
knitr::opts_chunk$set(echo=TRUE)
图书馆(dplyr)
```
测试
```{r喷发,echo=FALSE}
#输入滑块
滑块输入(“测试”,“测试”,值=0.5,最小值=0,最大值=1,宽度=100%”)
#预定义df

输出以下是我怀疑的情况---

我认为第一次运行
observe
时,
input$test
为空

如果您的
mutate
将一列设置为NULL,它只会删除该列

如果使用
input$test*2
,将返回一个空向量
numeric(0)
。尝试添加带有空向量的列将导致错误

如果在
observe
函数的开头添加
req(输入$test)
,它是否工作