Я фактически пытаюсь прикрепить save.image() к концу скрипта, не изменяя его.

Я надеялся, что сработает что-то вроде Rscript target_script.R | saveR.R destination_path, где saveR.R читается,

args.from.usr<-commandArgs(TRUE)
setwd(args.from.usr[1])
save.image(file=".RData")

Но это явно не работает. Есть альтернативы?

2
Atticus29 28 Дек 2015 в 04:09

2 ответа

Лучший ответ

Вы можете написать файл сценария R, который принимает два параметра: 1, файл сценария, который вы хотите запустить, и 2, файл, в который вы хотите сохранить изображение.

# runAndSave.R ------
args.from.usr <- commandArgs(trailingOnly=TRUE)
source(args.from.usr[1])
setwd(args.from.usr[2])
save.image(file=".RData")

А затем запустить его с

Rscript runAndSave.R target_script.R destination_path
2
MrFlick 28 Дек 2015 в 04:09

Вы можете попробовать запрограммировать задачу, которая будет выполняться в ОС этого компьютера. В Linux вы будете использовать терминал, и есть инструмент под названием CRON. В Windows вы можете использовать Планировщик заданий. Если вы запрограммируете ОС для открытия терминала и загрузки сценария, а затем сохраните изображение, вы, возможно, получите то, что вам нужно, сохраните данные, сгенерированные из сценария, без фактического изменения их.

0
Nathan Tuggy 28 Дек 2015 в 02:14