Это может быть что-то тривиальное, но я не знаю, как это сделать. У меня есть make-файл, который включает несколько сценариев R и Bash, которые могут быть вызваны make для выполнения. Я объявляю переменную (project = ABC123) в Makefile и хочу использовать ее в сценариях R & bash, чтобы мне не приходилось объявлять переменную в каждом из сценариев. Я могу сделать это для сценариев Bash, экспортировав переменную и вызвав ее в сценарии bash. Однако я не знаю, как вызвать эту переменную в сценарии R.
Makefile:
project = ABC123
export project
make bashscript_1
make rscript_1
bashscript_1:
cat $project"_SampleList".csv
rscript_1:
read.csv(file = $project"_SampleList".csv)
Скрипт Bash работает, как ожидалось, но скрипт R не распознает переменную, пока я не объявлю ее в этом скрипте. Кто-нибудь может мне помочь? Благодарю за вашу помощь.
Вот мой Makefile и R-скрипт:
Makefile:
VAR=foo
scripts = /data/resources/scripts/
all:
@Rscript -e 'var<-"${VAR}"' -e "source('foo.R')"
.PHONY: all
foo:
Rscript $(scripts)foo.R
R-скрипт ( foo.R. Сценарий сохраняется по пути "/ data / resources / scripts /")
print(sprintf("Hello, %s",var))
Я вызываю сценарий R с помощью make foo. Я не внес никаких изменений в то, что вы предложили. Думаю, когда это будет работать, мне будет проще адаптировать его к моим потребностям. Спасибо за помощь.