명령 줄에서 간단한 플롯을 수행하기위한 R 스크립트가 있으면 매우 편리합니다. 그러나 bash 스크립트에서 R을 실행하는 것은 전혀 편리하지 않습니다. 이상은 다음과 같을 수 있습니다.
#!/path/to/R
...
또는
#!/usr/bin/env R
...
그러나 나는 그 둘 중 하나를 만들 수 없었습니다.
또 다른 옵션은 스크립트를 순전히 R (예 :)로 유지하고 script.R
이를 사용 R --file=script.R
하거나 이와 유사하게 호출하는 것입니다 . 그러나 때때로 스크립트는 코드의 일부가 스크립트 외부에 존재하는 모호한 명령 줄 스위치에 의존합니다. 예 : 로컬 .Rprofile 통해 떠들썩한 파티에서 R로 물건을 몰래 원하는 스위치는 모두가 --vanilla
제외 의미한다 --no-init-file
.
또 다른 옵션은 R 플래그를 저장하고 쉽게 실행할 수있는 bash 스크립트입니다. 그런 다음 R 스크립트를 호출합니다. 문제는 단일 프로그램이 이제 동기화 상태를 유지해야하는 두 개의 파일로 분할되고 함께 새 시스템으로 전송된다는 것을 의미합니다.
내가 현재 가장 경멸하는 옵션은 bash 스크립트에 R을 포함하는 것입니다.
#!/bin/bash
... # usage message to catch bad input without invoking R
... # any bash pre-processing of input
... # etc
R --random-flags <<RSCRIPT
# R code goes here
RSCRIPT
모든 것이 단일 파일에 있습니다. 실행 가능하고 인수를 쉽게 처리합니다. 문제는 bash와 R을 이와 같이 결합하면 IDE가 둘 중 하나에서 실패하지 않을 가능성을 거의 제거하고 내 마음을 아프게 만든다는 것입니다.
내가 놓친 더 좋은 방법이 있습니까?