2012-11-17 21 views
9

Sono interessato a fornire un'interfaccia della riga di comando a un pacchetto R chiamato Slidify che sto creando. Usa Rscript e penso che lo renderebbe multipiattaforma. Gli script sono memorizzati nella sottodirectory inst/slidify. Per utilizzare lo script da qualsiasi directory, ho aggiunto il suo percorso al mio .bash_profile come sono su un Mac.Includere gli script della riga di comando con un pacchetto R

La mia domanda è

  1. Come devo gestire l'installazione dello script in modo automatizzato cross-platform?
  2. Come posso assicurarmi che i permessi dei file vengano mantenuti in questo processo?
  3. Quale dovrebbe essere la linea shebang per la sceneggiatura? Attualmente sto usando

    #!/usr/bin/Rscript --vanilla --slave

Gradirei indicazioni su come gestire questa situazione e gli eventuali esempi di pacchetti R che già lo fanno. Giusto per essere sicuro, sono chiaro su come funzionerebbe, un utente sarebbe in grado di generare uno slide deck da slides.Rmd semplicemente eseguendo slidify generate slides.Rmd dalla riga di comando.

UPDATE:

Ecco come lo installo su un Mac dalla riga di comando. Io uso l'eccellente libreria sub con 37 segnali per creare gli script.

echo "$(path/to/clidir/slidify init -)" >> ~/.bash_profile exec bash

Due follow-up domande

  1. Posso confezionare questi comandi in una funzione di R install_slidify_cli?
  2. Come posso rispecchiare questi comandi per gli utenti di Windows?

risposta

7

Lovin 'slidify quindi sarebbe felice di aiutare.

Ma in breve, non è possibile.

I pacchetti R non possono essere installati al di fuori di $R_HOME o della cartella della libreria scelta. Spedire lo script nel pacchetto e dire agli utenti di copiarlo. Se ci fosse un modo migliore, il pacchetto littler con il predecessore/alternativo a Rscript lo avrebbe usato da tempo, e anche roxygen/roxygen2 avrebbe spedito qualcosa.

+0

Credo che 'pgfSweave' utilizzato per fornire tale script, ma [apparentemente] (https://github.com/cameronbracken/pgfSweave/commit/cea3c877827bc1a7b7b4e47548ee43fc4b75c814) in seguito hanno deciso che era contro le regole per installarlo automaticamente. – baptiste

+2

Lo hanno fatto, ed è stato * orribile *. All'epoca gestivo ancora l'autobuilder di 'cran2deb' e mi ha dato i risultati. Stile da cowboy totale, totalmente pazzo. Fortunatamente qualcun altro li ha dissuasi :) –

+0

Grazie @DirkEddelbuettel Ho aggiornato la mia domanda con i dettagli su come installare il cli dalla riga di comando. Gradirei le vostre opinioni sulle due domande di follow-up sollevate. – Ramnath