R Shiny list2env

Sri*_*Sri 5 r shiny

我有一个闪亮的应用程序,其中server.R如下所示:

  shinyServer(function(input, output,session) {
   temp<-reactive({
            obj1<-read.csv(.....)
            v1<-c("obj2")
            lst<-lapply(v1,read.csv(....)
            list2env(lst)
           ...
       })
Run Code Online (Sandbox Code Playgroud)

我正在调用的反应函数中直接创建一个对象,obj1obj2使用list2env 创建.双方obj1obj2没有在相同的环境.当我进入被动功能时,我所处的环境是什么?此外,我不想使用.GlobalEnvin,list2env因为它会使所有用户会话中的此对象可用.如何在与之相同的环境中进行list2env创建?obj2obj1

MrF*_*ick 8

environment()函数将返回当前环境.因此,如果您在函数内部使用它,它将返回函数的环境.然后你可以使用它

list2env(lst, envir=environment())
Run Code Online (Sandbox Code Playgroud)

(虽然我个人总是发现将数据保存在列表中更容易,而不是在环境中创建一堆单独的变量.)