【问题标题】:Reactives: invalid (NULL) left side of assignment反应式:赋值左侧无效(NULL)
【发布时间】:2016-06-16 14:44:47
【问题描述】:

我正在尝试提取名为 tests.stats() 的个人函数的输出

我用return 声明了一个函数:

   return(c(list.test.1, list.test.2 ,list.test.3, list.test.4))

每个list.test.<i> 都是一个list 对象。

在闪亮的服务器中:

 outlist() <- reactive({
   if(is.null(input$datafile)){
     return()
   }
   if(is.null(input$varinteret)
      &&is.null(input$vartemps)
      &&is.null(input$varsujet)
      &&is.null(input$varprod) 
      &&is.null(input$apparie)
      &&is.null(input$tempsrefouinon)
      &&is.null(input$prodrefouinon)
      &&is.null(input$checkprod)
      &&is.null(input$checkprodref)){
     return()
   } else {
     data<-filedata()
     res <- tests.stats(data = data(),
              y = input$varinteret, 
              group = input$varprod, 
              group2 = input$vartemps, 
              sujet = input$varsujet, 
              apparie = input$apparie, 
              temoin = input$prodrefouinon, 
              TemoinName = input$checkprodref)
   }  

以及错误信息:

Warning: Error in <-: invalid (NULL) left side of assignment
Stack trace (innermost first):
    40: server [C:\Users\itm\Desktop\Documents\appli/server.R#357]
     1: shiny::runApp
Error in outlist() <- reactive({ : invalid (NULL) left side of assignment

为什么我会收到这个错误?

【问题讨论】:

  • outlist替换outlist()

标签: r shiny


【解决方案1】:

这是因为这项任务而发生的:

outlist() <- reactive({...})

这是不正确的语法,因为你告诉 Shiny outlist 是一个已经定义的反应式表达式,你应该评估它。然后你试图用 Shiny 不理解的语法为这个反应式表达式分配一些东西。

因此,如果您改为使用:

outlist <- reactive({...})

您现在已将 outlist 正确定义为反应式 Shiny 对象,可以在代码的其他位置使用 outlist() 调用。

这个主题的文档非常好,可以在这里找到:

http://shiny.rstudio.com/reference/shiny/latest/reactive.html

http://shiny.rstudio.com/tutorial/lesson6/

您似乎也可以使用validateneed 来处理您的大量需求输入:

http://shiny.rstudio.com/articles/validation.html

还有来自 Lord Hadley 的代码风格指南:

http://adv-r.had.co.nz/Style.html

【讨论】:

    猜你喜欢
    • 2019-01-24
    • 2018-10-08
    • 2016-11-24
    • 2017-11-08
    • 2017-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多