我希望在闪亮的应用中创建一组单选按钮,这些按钮将根据用户输入进行更新。基本上,用户将选择一个问题,相应的答案选项将是单选按钮的更新选项。我无法更新按钮。有人能指出我正确的方向吗?
非常抱歉格式化,第一次使用此网站。
到目前为止,我有:
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)`
答案 0 :(得分:0)
您唯一需要做的就是执行 observe
输入$ numberchoice进行更改并在更改发生后更新radioButtons:
#observe input $ numberchoice并相应地更新回答radioButtons&#xA; observeEvent(输入$ numberchoice,{&#xA; updateRadioButtons(session,“answerchoice”,choices = questions [input $ numberchoice,2:5])&#xA; })&#xA;
&#xA;&#xA; 或者,如果你想避免 observeEvent
,你可以把整个答案输出放在服务器,以便在每次更改 input $ numberchoice
时更新:
<代码> uiOutput( “answerchoice”)&#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;