我正在尝试创建Shiny
应用。用户界面UI.R
看起来很好,但我遇到了server.R
的问题。基本上我想要一个不同的绘图输出,具体取决于用户选择的radio
选项。
用户可以选择A
,B
或C
选项。我想绘制直方图,如果用户选择选项A
,条形图为B
,饼图为选项C
,但我不知道如何编码条件?它是否像if-else
声明?我已经挣扎了几个小时!这是我的代码示例:
output$plots <- renderPlot({
if selection == 'A'
# plot histogram
if selection == 'B'
# plot bar chart
if selection == 'C'
# plot pie chart
})
谢谢!
答案 0 :(得分:14)
您可以使用开关根据选择确定行为:
library(shiny)
myData <- runif(100)
plotType <- function(x, type) {
switch(type,
A = hist(x),
B = barplot(x),
C = pie(x))
}
runApp(list(
ui = bootstrapPage(
radioButtons("pType", "Choose plot type:",
list("A", "B", "C")),
plotOutput('plot')
),
server = function(input, output) {
output$plot <- renderPlot({
plotType(myData, input$pType)
})
}
))