闪亮的交互式绘图与选定的Likert量表

时间:2017-12-08 06:42:56

标签: shiny

我已经使用R包“likert”创建了几个Likert刻度,并且当选择那个单选按钮时,我想将它们中的每一个绘制成闪亮的。 样本量表是:

a <- sample(rep((1:5),5))
b <- sample(rep((1:5),5))
c <- data.frame(sapply(data.frame(a), factor))
d <- data.frame(sapply(data.frame(b), factor))
scaledc <- likert(c)
scaledd <- likert(d)

闪亮的代码是:

ui <- fluidPage(
  titlePanel("Survey"),
  sidebarLayout(
    sidebarPanel(
      selectInput("type",
                  "Plot Type",
                  choices = c("Likert"="bar",
                              "Density"="density",
                              "Heatmap"="heat"), selected="Likert"),
      radioButtons("qtype", 
                    "Question type:",
                    c("Agreement"="scaledc", "Helpfulness"="scaledd"),
                selected="scaledc")
  ),


# Show a plot of the generated distribution
mainPanel(
  tabsetPanel(
    tabPanel("Yearly Data", plotOutput("distPlot1"))
      )
    )
  )
)



#server
server <- function(input, output) {  
  output$distPlot1 <- renderPlot({plot(input$qtype, type=input$type)+
      ggtitle("How agree are you with following statements?")}, height = 1000)

}

闪亮的返回错误“需要有限的'ylim'值。”我认为这是因为输入$ qtype没有将正确的信息传递给plot命令,但我不知道如何修复它。谢谢您的提前!

1 个答案:

答案 0 :(得分:1)

我刚刚解决了这个问题。 服务器中缺少的代码是:

  scale <- reactive({
   get(input$qtype)
})
  output$dat <- renderPrint({
   scale()
})

然后用scale()绘图将显示选定的情节。