我有一个很短的问题:我如何访问R Shiny应用程序中定义的变量列表?我正在寻找与ls()
函数相当的东西,它在R Shiny中不能按预期工作...
如果你能帮忙,我将不胜感激。
先谢了
这里有一段代码,我想做什么:
library(shiny)
my_file1 = "monfichier.txt"
my_file2 = "monfichier.txt"
ui = fluidPage(
fluidPage(
br(),
fluidRow(
verbatimTextOutput('print_fichiers')
)
)
)
server <- function(input, output,session){
output$print_fichiers <- renderPrint({
## I would like to use ls() function
# to print the ''hard-coded'' filename stored
# in the variables that match the pattern ''file''
all_files <- ls()[grepl("file", xx)]
for(ifile in all_files) {
# would like to print
# my_file1 = monfichier.txt and so on
print(paste0("\n", ifile, "\t=\t\"", get(ifile) , "\"\n"))
}
})
}
shinyApp(ui = ui, server = server)
1条答案
按热度按时间9w11ddsr1#
查找变量时,
ls()
将使用当前环境。由于您是在函数内部调用它,因此默认情况下,您只能看到该作用域的局部变量。您可以使用这将返回名称中包含“file”的所有全局变量。由于
ls
已经有了pattern=
参数,因此不需要使用grepl
。另一种选择是显式地捕获您要在变量中探索的环境