我有一个闪亮的应用程序,其中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)
我正在调用的反应函数中直接创建一个对象,obj1并obj2使用list2env 创建.双方obj1并obj2没有在相同的环境.当我进入被动功能时,我所处的环境是什么?此外,我不想使用.GlobalEnvin,list2env因为它会使所有用户会话中的此对象可用.如何在与之相同的环境中进行list2env创建?obj2obj1
该environment()函数将返回当前环境.因此,如果您在函数内部使用它,它将返回函数的环境.然后你可以使用它
list2env(lst, envir=environment())
Run Code Online (Sandbox Code Playgroud)
(虽然我个人总是发现将数据保存在列表中更容易,而不是在环境中创建一堆单独的变量.)