Как получить все объекты в скрипте - PullRequest
0 голосов
/ 27 апреля 2019

Я пытаюсь определить все объекты в скрипте. (в частности, чтобы получить все кадры данных, но я согласен на все назначенные объекты, то есть списки векторов и т. д.) Есть ли способ сделать это. Должен ли я заставить скрипт запускаться в своем собственном сеансе, а затем каким-то образом получать объекты из этого сеанса, а не полагаться на глобальную среду.

1 Ответ

1 голос
/ 27 апреля 2019

Используйте второй аргумент для source() при выполнении сценария.Например, вот скрипт:

x <- y + 1
z <- 2

, который я могу вставить в script.R.Затем я выполню его в собственной среде, используя следующий код:

x <- 1   # This value will *not* change
y <- 2   # This value will be visible to the script
env <- new.env()
source("script.R", local = env)

Теперь я могу напечатать значения и убедиться, что комментарии верны

x        # the original one
# [1] 1
ls(env)  # what was created?
# [1] "x" "z"
env$x    # this is the one from the script
# [1] 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...