创建基于R Shiny中的输入更新的单选按钮

时间:2017-06-17 01:17:46

标签: r shiny

我希望在闪亮的应用中创建一组单选按钮,这些按钮将根据用户输入进行更新。基本上,用户将选择一个问题,相应的答案选项将是单选按钮的更新选项。我无法更新按钮。有人能指出我正确的方向吗?

非常抱歉格式化,第一次使用此网站。

到目前为止,我有:

questions <- read.csv("~/Answers.csv")
library(shiny)


ui <- fluidPage(

  selectInput("numberchoice",label = "Choose an image", choices = c(1:6), 
 selected = 1)
,
imageOutput("image")
,
radioButtons("answerchoice","",choiceNames = c("A","B","C","D","E"), 
choiceValues = questions[3,2:6])

)

server <- function(input,output,session) {
answers <- read.csv("~Answers.csv")
output$image <- renderImage(list(src=
paste("~",
input$numberchoice,".png", sep = "")
,contentType = "image/png", alt = "Face"),deleteFile = FALSE)
updateRadioButtons(session,"answerchoice",choices = 
questions[input$numberchoice,2:5]


}

shinyApp(ui = ui, server = server)`

1 个答案:

答案 0 :(得分:0)

您唯一需要做的就是执行 observe 输入$ numberchoice进行更改并在更改发生后更新radioButtons:

&#xA;&#xA;
 #observe input $ numberchoice并相应地更新回答radioButtons&#xA; observeEvent(输入$ numberchoice,{&#xA; updateRadioButtons(session,“answerchoice”,choices = questions [input $ numberchoice,2:5])&#xA; })&#xA;  
&#xA;&#xA;

或者,如果你想避免 observeEvent ,你可以把整个答案输出放在服务器,以便在每次更改 input $ numberchoice 时更新:

&#xA;&#xA;

UI:

&#xA;&#xA ;
 <代码> uiOutput( “answerchoice”)&#XA;  
&#XA;&#XA;

服务器

&#XA;&#XA;
  output $ answerchoice&lt;  -  renderUI({&#xA; radioButtons(“answerchoice”,“”,choiceNames = c(“A”,“B”,“C”,“D”,“E) “),&#xA; choiceValues = questions [输入$ numberchoice,2:5])&#xA;})&#xA;  
&#xA;