2012-11-29 12 views
10

Ho un ~/.Rprofile file globale e un altro .Rprofile file che si trova nella directory di lavoro corrente del mio progetto e entrambe le hanno i seguenti contenuti:Ottenere .Rprofile da caricare all'avvio

.First() <- function() { 
options(rstudio.markdownToHTML = 
    function(inputFile, outputFile) {  
    system(paste("pandoc", shQuote(inputFile), "-s --webtex -o", shQuote(outputFile))) 
    } 
) 
} 

Purtroppo, quando apro la RStudio nessuna delle due sembra funzionare. Lo scopo di ciò che sto cercando di fare è di rendere il pulsante "Knit HTML" che rende il file Markdown, che ha inline LaTeX, processa attraverso Pandoc usando webtex come renderer LaTeX.

Qualcuno sa come controllo se i miei file .Rprofile vengono caricati all'avvio?

Grazie per qualsiasi aiuto!

POST RISPOSTA EDIT (dopo la risposta di Josh): Per chiarezza, .Rprofile fascicolo di mio progetto di lavoro (che funziona) ora si legge in quanto tale:

options(rstudio.markdownHTML = 
    function(inputFile, outputFile) { 
    system(paste("pandoc", shQuote(inputFie), "-s --webtex -o", shQuote(outputFile))) 
    } 
) 
\\ you will need to end with a blank carriage return underneath 
+0

Perché usare '.Prima() <-' invece di' .Prima <-' – JohnRos

risposta

10

La documentazione R dovrebbero aiutare a vedere come affrontare con .Rofile. Eseguire il seguente alla console:

> ?Startup 

La quota di competenza di questo indica che è necessario mettere il vostro progetto .Rprofile nella directory di lavoro iniziale che verrà caricata all'avvio del progetto. Quindi se il tuo progetto è ~/foo/foobar.Rproj, allora il tuo profilo dovrebbe essere ~/foo/.Rprofile e assicurarti che all'avvio la directory di lavoro iniziale sia ~/foo/. Puoi vederlo nella barra del titolo nella parte superiore del pannello della console in RStudio.

Anche per confermare che il profilo .RR corretto viene effettivamente caricato, inserirò personalmente un test per vedere quale profilo (se presente) viene prelevato. Ad esempio, includono:

print("This is the Rprofile inside the foo project!") 

Ecco un altro esempio su come ottenere questo al lavoro:

http://support.rstudio.org/help/discussions/suggestions/1095-different-rprofile-for-a-project#comment_15690293

Infine, se il corretto .Rprofile viene caricata all'interno del progetto, allora ci deve essere qualcosa sbagliato con il tuo codice. Sembra che tu abbia ottenuto questo dal nostro docs, quindi, se ottieni il profilo caricato e continui ad avere problemi, faccelo sapere. Puoi pubblicare una nuova discussione sul nostro support thread.

Josh

Product Manager - RStudio

+0

Ciao Josh, grazie per il vostro aiuto. Ho aggiunto il comando 'print (" ... ")' alla fine del file '.Rprofile' del mio progetto esistente e dopo aver riaperto l'app RStudio ho rilevato che la console stava mostrando un errore:' .First() <- function () {invalid (NULL) lato sinistro dell'assegnazione rstudio', a cui ho rimosso la chiamata '.First() <- function() {}' e dopo aver salvato il file '.RProfile' ho riaperto l'app RStudio e mentre I * * non ha ** ottenuto alcun output di stampa sulla console, ho notato che il pulsante "KnitHTML" funzionava correttamente in base all'impostazione '.Rprofile' di Pandoc. Grazie mille per il vostro aiuto. – rsacc

+1

Inoltre, sono riuscito a far funzionare la funzione 'print' quando ho aggiunto un ritorno a capo alla fine del mio file' .Rprofile'. Proprio come hai illustrato al link che hai postato su Josh. Grazie ancora per il vostro aiuto. – rsacc

+4

È possibile avere un Rprofile globale? C'è il file Rprofile.site nella directory R/etc, ma Rstudio non sembra caricarlo. Vorrei caricare alcune librerie che uso più spesso per essere caricato indipendentemente dal progetto, e alcune funzioni per l'output pandoc personalizzato. –

Problemi correlati