Rscript не распознает ранее созданные переменные - PullRequest
0 голосов
/ 07 ноября 2018

Я готовлю некоторую автоматизацию Rscript, и при запуске ниже 3 R-файлов с помощью команды Rscript (в терминале) я получаю следующую ошибку после запуска [result.R]:

Error: object 'a' not found
Execution halted.

Я проверяю в терминале R, что Rscript создал переменные [a] и [b], поэтому, похоже, что при запуске окончательного Rscript он не распознает, что переменные были созданы в R.

Я использую Linux Ubuntu 16.04 с версией R 3.4.4. Все файлы хранятся в одной папке.

Ниже приводится содержание моих сценариев R:

#File: a.R
# Content:
a <- 1
save.image ('.RData')

#File: b.R
# Content:
b <- 2
save.image ('.RData')

#File: result.R
# Content: 
load('.RData')
c = a + b
save.image('.RData')

Сценарий, который работает:

Если я создаю переменные [a] и [b] в терминале R, а затем запускаю result.R с помощью Rscript, он не выдаст сообщение об ошибке.

1 Ответ

0 голосов
/ 07 ноября 2018

Вам необходимо добавить load('.RData') к b.R. Для предотвращения перезаписи объектов из a.R.

#File: a.R
# Content:
a <- 1
save.image('.RData')

#File: b.R
# Content:
load('.RData')
b <- 2
save.image('.RData')

#File: result.R
# Content: 
load('.RData')
c = a + b
save.image('.RData')
...