我正在尝试创建一个 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
})
谢谢!
最佳答案
您可以使用 switch 来确定基于选择的行为:
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)
})
}
))
关于r - 基于单选按钮选择 R Shiny 创建图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25633662/