2013-09-04 10 views
10

Sto imparando a creare i miei pacchetti utilizzando RStudio. L'attuale .tar.gz per il pacchetto (denominato SteenSubsSpec) è here. Attualmente il comando Build & Reload sembra generare & Roxygen-ize il pacchetto con successo. Tuttavia, le funzioni non sembrano essere caricate in memoria, nonostante il fatto che Build & Reload aggiorni correttamente la documentazione. Che cosa sto facendo di sbagliato?non caricate dal pacchetto autocostruito

Build & Reload dare il seguente output:

==> roxygenize('.', roclets=c('rd')) 
  • verifica per le modifiche ... Fatto

==> R CMD costruire SteenSubsSpec

* checking for file ‘SteenSubsSpec/DESCRIPTION’ ... OK 
* preparing ‘SteenSubsSpec’: 
* checking DESCRIPTION meta-information ... OK 
* excluding invalid files 
Subdirectory 'R' contains invalid file names: 
    ‘2013_08_30_report-concordance.tex’ ‘2013_08_30_report.Rnw’ 
    ‘2013_08_30_report.log’ ‘2013_08_30_report.pdf’ 
    ‘2013_08_30_report.synctex.gz’ ‘2013_08_30_report.tex’ 
* checking for LF line-endings in source and make files 
* checking for empty or unneeded directories 
Removed empty directory ‘SteenSubsSpec/inst’ 
* building ‘SteenSubsSpec_1.0.tar.gz’ 

Source package written to ~/Dropbox/[my directory] 

Questo aggiorna la documentazione : ?write_paper() visualizza il documento corrente azione come previsto. Tuttavia

require(SteenSubsSpec) 
write_paper() 

Error: could not find function "write_paper"

Alcune cose che sembrano essere corrette:

  • Tutti i file di funzione si trovano nella directory R, e hanno lo stesso nome del loro definizione (ad esempio /R/write_paper.R definisce write_paper() <- function {...
  • Il file DESCRIPTION contiene i nomi di tutti i file delle funzioni rilevanti: Collate: ... 'write_paper.R

Come posso risolvere questo?

+0

Hai esportato le funzioni per renderle disponibili nello spazio dei nomi? Puoi accedervi con 'SteenSubsSpec ::: write_paper()'? – A5C1D2H2I1M1N2O1R2T1

+0

Non sto indovinando, non so davvero cosa significhi, ma cominceremo a cercare su Google. Si noti che il file NAMESPACE è vuoto. –

+1

quindi questo sarebbe il problema più probabile :) – A5C1D2H2I1M1N2O1R2T1

risposta

9

Molto probabilmente, le funzioni non vengono esportate nel file NAMESPACE (che dichiari è attualmente vuoto).

In RStudio, in "strumenti di sviluppo" in "opzioni di progetto", assicurarsi che "Genera documentazione con roxygen" sia selezionato. Quindi, fai clic su "configura". Assicurati che "Usa roxygen per generare il file NAMESPACE" sia anche controllato.

nei file di funzione R, aggiungere un @export yourfunctionname in là (o, tecnicamente, un #' @export yourfunctionname), e quando si genera e ricaricare, il file NAMESPACE dovrebbe essere aggiornato e le funzioni non dovrebbe più essere invisibile.

Problemi correlati