我已经使用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命令,但我不知道如何修复它。谢谢您的提前!
答案 0 :(得分:1)
我刚刚解决了这个问题。 服务器中缺少的代码是:
scale <- reactive({
get(input$qtype)
})
output$dat <- renderPrint({
scale()
})
然后用scale()绘图将显示选定的情节。