Geçen komut satırı R CMD TOPLU argümanlar
R
bir komut dosyası çalıştırmak için terminalden R CMD BATCH my_script.R
kullanıyorum. Bu komut bir değişken geçmek istiyorum noktada artık öyleyim ama bazı konularda çalışmaya başlama yaşıyorum. Eğer yaparsam R CMD BATCH my_script.R blabla
blabla
çıktı dosyası, bir argüman R komut yürütülmekte olan mevcut yorumlanan ziyade olur.
Ben denedim Rscript my_script.R blabla
gibi aktarmak blabla
düzgün bir argüman, ama o zaman anlamıyorum my_script.Rout
çıktı dosyası anlıyorum R CMD BATCH
(istiyorum .Rout
dosya). Süre edebilirim yeniden çıkış arayan Rscript
bir dosya benim seçimim, ben değil de R giriş komutları dahil dosya yolu R CMD BATCH
yok .Rout
dosya.
Yani, ideal olarak, ben sonra bir şekilde geçirmek için bağımsız değişkenleri için R script olma yürütülen yoluyla R CMD BATCH
yöntem olsa mutlu olacağını bir yaklaşım kullanarak Rscript
varsa için bir yol üretmek bir karşılaştırılabilir .Rout
dosya.
CEVAP
Benim izlenimim R CMD BATCH
bir kalıntı biraz. Her durumda, daha yeni ** 20 çalıştırılabilir (tüm platformlarda mevcuttur), commandArgs()
ile birlikte komut satırı argümanları işlem oldukça kolay hale getirir.
Örnek olarak, burada küçük bir senaryo ... "myScript.R"
arayın:
## myScript.R
args <- commandArgs(trailingOnly = TRUE)
rnorm(n=as.numeric(args[1]), mean=as.numeric(args[2]))
Ve burada komut satırından çağrılırken gibi görünüyor
> Rscript myScript.R 5 100
[1] 98.46435 100.04626 99.44937 98.52910 100.78853
Düzenleme:
O önerebilirim, ama ... kullanarak bir kombinasyonu source()
sink()
, sen-ebil almak Rscript
üretmek .Rout
dosya gibi üretilen R CMD BATCH
. Bir şekilde R -- script küçük bir çağrı oluşturmak olacaktırDoğrudan Rscript ile arama RscriptEcho.R
--. Bu gibi görünebilir:
## RscriptEcho.R
args <- commandArgs(TRUE)
srcFile <- args[1]
outFile <- paste0(make.names(date()), ".Rout")
args <- args[-1]
sink(outFile, split = TRUE)
source(srcFile, echo = TRUE)
Gerçek komut dosyası çalıştırmak için, o zaman yaparsın:
Rscript RscriptEcho.R myScript.R 5 100
[1] 98.46435 100.04626 99.44937 98.52910 100.78853
sağlanan bağımsız değişkenler ile myScript.R
yürütme ve benzersiz .Rout
adlı aralanmış giriş, çıkış ve mesajları batacak.
Visual Studio 2010'da geçen komut satı...
Toplu iş dosyaları komut satırı sayısı...
Komut satırı bayrakları Python argpars...
(S) okumayı Windows toplu iş komut ilk...
Nasıl bir toplu iş dosyası komut satır...