闪亮的应用程序创建 - 将结果传递给表;不允许从 Shiny 读取对象

Posted

技术标签:

【中文标题】闪亮的应用程序创建 - 将结果传递给表;不允许从 Shiny 读取对象【英文标题】:Shiny App creation - Passing result to table; reading objects from Shiny not allowed 【发布时间】:2017-01-27 09:16:01 【问题描述】:

我对闪亮的应用程序比较陌生,并尝试创建一些基本的决策规则,这些规则将根据定义的规则输出分类方案。我的平台和 R 版本是:

平台:x86_64_w64_mingw32 R版本:3.2.1(2015_06_18)

我收到以下错误:$.shinyoutput 中的错误:在尝试测试 Fall LNF 分数

ui<-(fluidPage(titlePanel("testapp"),
           sliderInput(inputId="fluency1", label="Fall FSF",value=25,min=0,max=200),
           sliderInput(inputId="fluency2", label="Fall LNF",value=25,min=0,max=200),
           mainPanel(h5("Groupings"),
                     textOutput("stuff"))))


server<-function(input,output) observe(
#PROFILE 1
if ( (input$fluency2<20.5)) 
  #print("Profile 1")
  a<-renderPrint(output$stuff("Profile 1"))
  a()
 
if( (input$fluency1<12) & ((input$fluency2>20)) & (input$fluency2<23)) 
  print("Profile 1")
 
if( (input$fluency1<9) & ((input$fluency2>21)) & (input$fluency2<25)) 
  print("Profile 1")
 

#PROFILE 2
if ( (input$fluency1>11)) 
  print("Profile 2")
 
if( ((input$fluency1>8) & (input$fluency1<28)) & ((input$fluency2>22) & (input$fluency2<25))) 
  print("Profile 2")
 
if( (input$fluency1<28) & ((input$fluency2>24))) 
  print("Profile 2")
 

#PROFILE 3
if( (input$fluency1>27) & ((input$fluency2>23))) 
  print("Profile 3")
)


shinyApp(server=server,ui=ui)

【问题讨论】:

【参考方案1】:

这有帮助吗?

ui<-(fluidPage(titlePanel("testapp"),
                   sliderInput(inputId="fluency1", label="Fall FSF",value=25,min=0,max=200),
                   sliderInput(inputId="fluency2", label="Fall LNF",value=25,min=0,max=200),
                   mainPanel(h5("Groupings"),
                             textOutput("stuff"))))


    server<-function(input,output) 

            profile <- reactive(
                    if ( (input$fluency2<20.5)) 
                            tmp <- "Profile 1"
                     
                    if( (input$fluency1<12) & ((input$fluency2>20)) & (input$fluency2<23)) 
                            tmp <- "Profile 1"
                     
                    if( (input$fluency1<9) & ((input$fluency2>21)) & (input$fluency2<25)) 
                            tmp <- "Profile 1"
                     

                    #PROFILE 2
                    if ( (input$fluency1>11)) 
                            tmp <- "Profile 2"
                     
                    if( ((input$fluency1>8) & (input$fluency1<28)) & ((input$fluency2>22) & (input$fluency2<25))) 
                            tmp <- "Profile 2"
                     
                    if( (input$fluency1<28) & ((input$fluency2>24))) 
                            tmp <- "Profile 2"
                     

                    #PROFILE 3
                    if( (input$fluency1>27) & ((input$fluency2>23))) 
                            tmp <- "Profile 3"
                    
                    tmp

            )
            output$stuff <- renderText(
                    profile()
            )
    


    shinyApp(server=server,ui=ui)

【讨论】:

以上是关于闪亮的应用程序创建 - 将结果传递给表;不允许从 Shiny 读取对象的主要内容,如果未能解决你的问题,请参考以下文章

在闪亮服务器上托管 html 页面

如何让组合框将正确的值传递给表?

在闪亮的应用程序中从 UI 中选择数据后,如何将值(选择)传递给 selectizeInput()?

如何将数据从闪亮的应用程序写入exce / csv文件?恰好我想将股票价格值的值写入excel / csv文件

具有特定高度的渲染图不允许下一个显示表格(闪亮)

rmarkdown::render() 不允许同时有多个用户?