首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在server.r中为主面板输出重新编码闪亮的ui.r数值?

如何在server.r中为主面板输出重新编码闪亮的ui.r数值?
EN

Stack Overflow用户
提问于 2018-03-24 11:45:41
回答 1查看 127关注 0票数 1

我正在构建一个闪亮的应用程序,我有一系列的数字输入,如下所示。用户可以为这10个输入输入1-9的值。其目标是制作一些地块,使1-9值重新计算为1-3 (即1-3 = 1,4-6=2,7-9=3)。我试过在server.r上使用各种编码函数,但是都会导致一个错误:“试图为只读的reactivevalues对象赋值”。下面是我的ui.r和server.r代码,我最终希望barplot能反映经过编码的数字输入值。

代码语言:javascript
复制
**ui.R code**

library(shiny)
shinyUI(fluidPage(
titlePanel("Short Form Web App"),  

sidebarPanel(
  numericInput("i1", label = h5("Intellectual Item 1"), min=1,max=9,value=1),
  numericInput("i3", label = h5("Intellectual Item 3"), min=1,max=9,value=1),
  numericInput("i6", label = h5("Intellectual Item 6"), min=1,max=9,value=1),
  numericInput("i9", label = h5("Intellectual Item 9"), min=1,max=9,value=1),
  numericInput("i11",label = h5("Intellectual Item 11"), min=1,max=9,value=1),    
  numericInput("a5", label = h5("Academic Item 5"), min=1,max=9,value=1),
  numericInput("a6", label = h5("Academic Item 6"), min=1,max=9,value=1),
  numericInput("a7", label = h5("Academic Item 7"), min=1,max=9,value=1),
  numericInput("a8", label = h5("Academic Item 8"), min=1,max=9,value=1),
  numericInput("a9", label = h5("Academic Item 9"), min=1,max=9,value=1)
  ),

  mainPanel(
   plotOutput("distPlot1"))))

**server.R code**

library(shiny)

shinyServer(function(input, output) {   
 output$distPlot1 <- renderPlot({
 x<- cbind(input$i1, input$i3, input$i6, input$i9, input$i11)
 bins <- seq(min(x), max(x))
 barplot(height = x,names.arg=c("Item 1", "Item 3","Item 6","Item 9","Item 11"))    
 })
 })
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-24 19:19:29

我建议在shinyServer中修改您的函数如下:

代码语言:javascript
复制
shinyServer(function(input, output) {
    output$distPlot1 <- renderPlot({
        x <- cbind(input$i1, input$i3, input$i6, input$i9, input$i11)
        x <- apply(x, 2, function(x) ifelse(x<4,1, ifelse(x>6,3,2)))
        bins <- seq(min(x), max(x))
        barplot(height = x, names.arg = c("Item 1", "Item 3", "Item 6",
            "Item 9", "Item 11"))
    })
})
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49464279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档