R闪亮list2env

R Shiny list2env

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

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

我直接在名为 obj1 的反应函数中创建了一个对象,并且还使用 list2env 创建了 obj2obj1obj2 不在同一个环境中。当我在反应函数中时,我所处的环境是什么? 此外,我不想在 list2env 中使用 .GlobalEnv,因为它会使该对象在所有用户会话中可用。如何让 list2env 在与 obj1 相同的环境中创建 obj2

environment()函数将return当前环境。因此,如果您在函数内部使用它,它将 return 函数的环境。然后您可以将其与

一起使用
list2env(lst, envir=environment())

(尽管我个人几乎总是发现将数据保存在列表中比在环境中创建一堆单独的变量更容易。)