闪亮的RMarkdown中的奇怪行为

在编织闪亮的RMarkdown HTML文档时,我有一些非常奇怪的行为。在下面的MWE中,我简单地(1)包括一个滑动输入,(2)在df中包含一列作为输入的值,然后(3)返回df。下面的MWE返回错误Error in : Column "b" must be length 1 (the number of rows),not 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})

```

有人知道是什么原因导致这种奇怪的行为吗?

q328849980qqq 回答:闪亮的RMarkdown中的奇怪行为

这是我怀疑正在发生的事情---

我认为您的observe第一次运行时,input$test为NULL。

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

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

如果您在req(input$test)函数的开头添加了observe,它可以正常工作吗?

本文链接:https://www.f2er.com/3163098.html

大家都在问