我想制作多个学生成绩的情节,但每个学生都有不同的课程。为了确保显示不同的课程列表,我使用了conditionalPanel
,如下所示。
selectInput("name", label = h3("Choose a name"),
choices = list("Claire" = "Claire", "Thomas" = "Thomas", "Alex" = "Alex"),
selected = "Claire"),
conditionalPanel(
condition = "input.name == 'Claire'",
checkboxGroupInput("cour1", "Courses",
list("Biology", "Mathematics", "Chemistry", "English", "French"),
selected = "Biology")
),
conditionalPanel(
condition = "input.bedr == 'Thomas'",
checkboxGroupInput("cour2", "Courses",
list("Economics", "History", "English", "Spanish", "Geography "),
selected = "Economics")
问题是每个学生现在都有他/她自己的课程变量(cour1
,cour2
),但我不想制作20个左右的不同代码(对于每个学生)制作图表。
我尝试制作一个这样的变量:
if (input$name == "Clair"){
input$cour <- input$cour1
}
这给出了错误:
尝试将值赋给只读反应值对象
答案 0 :(得分:0)
正如@ zx8754指出的那样,可以使用renderUI()
来完成。
有关render UI()
的简短说明,请参阅http://shiny.rstudio.com/articles/dynamic-ui.html
但真正帮助我的是这个Youtube视频: https://www.youtube.com/watch?v=JUop-YfRAuw