2009-09-21 7 views
80

A volte su una pagina di guida R la frase "non eseguito" appare nei commenti. Check out questa dalla pagina di aiuto per "con()":Che cosa significa "non eseguito" nelle pagine della guida di R?

Examples 
require(stats); require(graphics) 
#examples from glm: 
**## Not run:** 
library(MASS) 
with(anorexia, { 
    anorex.1 <- glm(Postwt ~ Prewt + Treat + offset(Prewt), 
        family = gaussian) 
    summary(anorex.1) 
}) 
## End(**Not run**) 

Che cosa significa il "non correre" significa nel codice di esempio?

+22

solo un suggerimento correlato. È possibile eseguire il codice di esempio emettendo "example (glm)". –

+2

Questo è un buon consiglio. E scommetto che la stragrande maggioranza degli utenti R non ne è a conoscenza. –

+0

ma nota esempio (fn) sarà ancora esempio di codice avvolto in 'dontRun' – tim

risposta

58

"non eseguire" racchiude codice che non deve essere eseguito nel example funzione (ad esempio parti di codice in termini di tempo, interazione con l'utente, ...).

vedere ad es. ?example:

Come specificato nel manuale scrittura R Estensioni, l'autore della pagina di aiuto può marcare parti degli esempi per due eccezioni regole

  • 'dontrun' racchiude il codice che non dovrebbe essere gestito

  • 'dontshow' racchiude il codice che è invisibile sulla pagine di aiuto, ma sarà essere eseguito sia con il pacchetto strumenti di controllo, e la funzione 'esempio()'. Questo era in precedenza "testonly" e tale modulo è ancora accettato.

+3

... come ho fatto a non so su questa funzione? –

+3

Non è solo il codice che richiede tempo che viene inserito all'interno di un \ dontrun {}. Il codice che richiede l'input dell'utente deve essere all'interno di dontrun oppure altrimenti non passerà 'R CMD check' – Dason

+1

Oppure: codice che dipende da un pacchetto che potrebbe non essere installato sulla macchina dell'utente. Esistono molte, molte e molte ragioni per usare \ dontrun {} – Jason

22

In "Writing R Extensions" manuale, nella sezione relativa \ esempi {...} è detto che

È possibile utilizzare \ dontrun {} per il testo che deve essere mostrato solo, ma non correre, e \ dontshow {} per i comandi aggiuntivi per i test che non dovrebbero essere mostrati agli utenti, ma sarà gestito da esempio()

Quando si crea un pacchetto poi tutto il codice in \ dontrun {} chiusura è visibile in aiuto come

## Not run: 
... 
## End(**Not run**) 

modifica: This answer era precedente.

4

C & pag dal capitolo 5.4 (R Documentazione File) dei must-to-read Creating R Packages: A Tutorial di Friedrich Leisch:

La sezione degli esempi dovrebbe contenere codice R eseguibile, e automaticamente in esecuzione il codice è parte del controllo di un pacchetto. Ci sono due speciali comandi di marcatura per gli esempi:

dontrun: Tutto dentro \ dontrun {} non viene eseguito dal test o esempio(). Ciò è utile, ad esempio, per le funzioni interattive , le funzioni accesso a Internet ecc. Non utilizzare errato per semplificare la vita a te fornendo esempi che non possono essere eseguiti .

10

Questo aggiunge \donttest{} e viene preso (testualmente) da @ hadley's R Packages.

Tuttavia, ai fini dell'illustrazione, è spesso utile includere il codice che causa un errore. \dontrun{} consente di includere il codice nell'esempio che non viene mai utilizzato. Ci sono altri due comandi speciali. \dontshow{} è gestito, ma non mostrato nella pagina di aiuto: questo può essere utile per i test informali. \donttest{} viene eseguito negli esempi, ma non eseguire automaticamente sotto controllo R CMD. Questo è utile se hai degli esempi che richiedono molto tempo per essere eseguiti. Le opzioni sono riepilogate di seguito.

Command  example help  R CMD check 
\dontrun{}     x 
\dontshow{}  x       x 
\donttest{}  x  x 
+1

Si noti che donttest è ora testato –

+0

Per l'invio del pacchetto, è necessario avere commenti aggiuntivi nel file .Rd che giustifichi l'omissione del blocco di codice? Ho avuto un controllo di errore del pacchetto a causa di un esempio di \ donttest {} e mi sto chiedendo se è semplice come cambiarlo in \ dontrun {}. La funzione è per il download di dati da un ftp e il commento di CRAN è: "Questo non è commentato nei file .Rd. Si noti che example() eseguirà queste sezioni". –

+0

Sì, dovrebbe essere così semplice. –

Problemi correlati