Shiny 如何在switch语句中使用变量?

Shiny 如何在switch语句中使用变量?,shiny,rstudio,Shiny,Rstudio,我需要在dataSource1、dataSource2和dataSource3中调用大约50个文件。如何使用变量,只需在代码顶部键入一次,而不是将其全部复制到每个switch语句中?我在server.R中调用它是为了一个闪亮的应用程序 dataSource1 <- reactive({ switch(input$dataSelection1, "File1" = File1, "File2" = File2,

我需要在
dataSource1
dataSource2
dataSource3
中调用大约50个文件。如何使用变量,只需在代码顶部键入一次,而不是将其全部复制到每个
switch
语句中?我在
server.R
中调用它是为了一个闪亮的应用程序

dataSource1 <- reactive({
        switch(input$dataSelection1,
               "File1" = File1,
               "File2" = File2,
               "File3" = File3,
               "File50" = File50
)
        )

dataSource1您可以使用
get
函数返回命名对象的值。假设
input$dataSelection1
具有变量的完整名称,则您的反应式函数可能如下所示:

 dataSource1 <- reactive({
            get(input$dataSelection1)
        )

我希望它能帮助您。

谢谢您的回复,Geovany。我还有一个问题要问你。我已将其附在原问题之后。谢谢你的帮助!
 dataSource1 <- reactive({
            get(input$dataSelection1)
        )
get(paste0('File',input$dataSelection1)) # it will create File1, File2...
sprintf('File%04d',input$dataSelection1) # add zeros before the number File0001