在showNotification中打印该列意味着来自reactiveValue,即data.frame

时间:2017-10-31 20:59:16

标签: r shiny

我有反应值,即data.frame,并希望:

  1. 仅更新无效值的1列
  2. 打印仅有1列无功值的平均值
  3. 我不明白为什么我的代码不起作用:

    library(shiny)
    
    ui <- fluidPage(actionButton("printMean", "print mean"), 
                    actionButton("setZeroToSepal.Length", "setZeroToSepal.Length"))
    
    dt <- iris
    
    server <- function(input, output){
      values <- reactiveValues(x = dt)
    
      observeEvent(input$printMean, {
        d <- values$x
        showNotification(mean(d$Sepal.Length), type = "default")
      })
    
      observeEvent(input$setZeroToSepal.Length, {
        values$x$Sepal.Length <- rep(0, nrow(values$x))
      })
    }
    
    shinyApp(ui, server)
    

    错误是:$:$运算符错误原子向量

1 个答案:

答案 0 :(得分:1)

问题在于showNotification。我相信它期待一个角色,虽然没有很好的记录,并且通过源代码查看我无法证实这一点。你可以使用

showNotification(as.character(mean(d$Sepal.Length)), type = "default")

它应该有用。