2013-05-25 12 views
21
gefunden

ich die folgende Fehlermeldung erhalten, wenn mein R-Paket ÜberprüfungKnitr: R Paketprüfung Fehler, Objekt 'opts_chunk' nicht

> Error: could not find function "locdata" 
> Execution halted 
> when running code in ‘DFSurvey.Rnw’ 
> ... 
> 
> > opts_chunk$set(cache = TRUE, fig.path = "DFSurveyImages/", dev = "pdf") 
> 
> When sourcing ‘DFSurvey.R’: 
> Error: object 'opts_chunk' not found 
> Execution halted 

Yihui Xie (knitr Entwickler) sagte, dass war, weil in RStudio, knitr nicht war als Methode zum Weben von .RNW-Dateien eingestellt, https://groups.google.com/forum/?fromgroups#!topic/knitr/9672CBbc8CM. Ich habe in den beiden Tools knitr gesetzt und Optionen bauen, in der R-Paket Beschreibungsdatei Ich habe:

VignetteBuilder: knitr 
Suggests: knitr 

und in der Vignette ich habe:

%\VignetteEngine{knitr} 
%\VignetteDepends{knitr,xtable,TSP} 

Als ich das pdf in RStudio verwenden kompilieren oder verwenden Sie stricken ("KNITR.Rnw"), kompiliert es richtig. Wenn ich das Paket überprüfe, bekomme ich die oben genannten Fehler für jede Vignette. Ich habe sogar

require(knitr) 

vor meiner opts_chunk $ set-Anweisung. Das hat nicht geholfen. Ich habe auch den Check von der Befehlszeile aus ausgeführt und den gleichen Fehler erhalten. Danke für jede Hilfe.

Knitr ist ein nützliches Paket. Ich führe lange Simulationen in Vignetten durch, und der Cache ermöglicht es, Fehler zu korrigieren, ohne die Simulationen jedes Mal auszuführen. Es hat auch nicht das Problem, die Sweave.sty-Datei zu finden.

Hier ist meine sessionInfo()

> R version 3.0.0 (2013-04-03) 
> Platform: x86_64-apple-darwin10.8.0 (64-bit) 
> 
> locale: 
> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 
> 
> attached base packages: 
> [1] tcltk  grid  stats  graphics grDevices utils  datasets methods 
> [9] base  
> 
> other attached packages: 
> [1] DualFrame_0.5   xtable_1.7-1   TSP_1.0-7    
> [4] maptools_0.8-23  lattice_0.20-15  foreign_0.8-53  
> [7] spsurvey_2.5   sp_1.0-9    stringr_0.6.2   
> [10] sqldf_0.4-6.4   RSQLite.extfuns_0.0.1 chron_2.3-43   
> [13] gsubfn_0.6-5   proto_0.3-10   RSQLite_0.11.3  
> [16] DBI_0.2-7    knitr_1.2    gpclib_1.5-5   
> 
> loaded via a namespace (and not attached): 
> [1] deldir_0.0-22 digest_0.6.3 evaluate_0.4.3 formatR_0.7 MASS_7.3-26 
> [6] rgeos_0.2-17 tools_3.0.0 
+0

Können Sie ein minimales Arbeitsbeispiel angeben, das dieses Problem reproduziert? –

+1

@TylerRinker, warum haben Sie Ihre Antwort gelöscht ("add' library ('knitr') 'zu Ihrem Code vor dem Aufruf von' opts_chunk $ set() '")? Schien eine gute Idee für mich ... –

+0

Sie sagen, dass sie benötigen, bevor die Töpfe $ Brocken. Ich werde es für jetzt wiederherstellen. –

Antwort

-1

Für eine knitr setzen, die Sie zusammenstellen können mit stricken() oder mit der Schaltfläche "Übersetzen PDF" in RStudio, aber das bekommt ein

Error: object 'opts_chunk' not found Execution halted

Fehler bei der Überprüfung oder das Paket erstellen, Code der Paketprüfung erkennt nicht, dass Ihre .Rnw Datei shou ld be knit ed und nicht Sweave Ed. Überprüfen Sie, ob Sie die folgenden haben:

  1. Die Vignetten sind in der Vignette-Verzeichnis, wenn Sie R 3.0.0 oder höher (dies war die Lösung zu diesem Beitrag), cran.r-project.org /doc/manuals/r-devel/R-exts.html#Non_002dSweave-vignettes

  2. %\VignetteEngine{knitr::knitr} in der Vignette Metadaten einschließen, yihui.name/knitr/demo/vignette/

  3. VignetteBuilder: knitr Geben Sie in der Paket BESCHREIBUNG Datei und

  4. Suggests: knitr in Beschreibung hinzufügen, wenn knitr Vignetten nur für benötigt wird

Wenn das nicht funktioniert, eine require (knitr) Anweisung hinzufügen, bevor Sie die globalen Optionen in opts_chunk() gesetzt, wie Ben Bolker, Yuhui und Tyler Rinker schlug vor.

Wenn in RStudio: In beiden Build-Konfiguration und Tool-Optionen, legen Sie die Sweave-Option zu knitr, www.rstudio.com/ide/docs/authoring/rnw_weave

48

library(knitr) vor dieser Vignette opts_chunk$set(cache = TRUE, fig.path = "DFSurveyImages/", dev = "pdf")

+4

** Hinweis **: Yihui hat dies bearbeitet, also pass auf. –

+0

@Ben, ich hatte es in, aber das Ergebnis war das gleiche, opt_chuck nicht gefunden. Ich habe ein einfaches Beispiel zum Ausführen gemacht. Ich habe die require-Anweisung eingegeben. Hier ist der Dropbox-Link, https://www.dropbox.com/l/W0iYiBxwxHBwUB7Er43la9. (Ich war nicht so wie Code anhängen.) Ich machte ein Paket mit --no-Vignetten und die .zip-Datei sind die Dateien, die ich verwendet habe, um das Testpaket zu machen. Entschuldige, wegen der verzögerten Antwort, die ich mir ausgedacht hatte, um benachrichtigt zu werden, wenn ich Antworten bekomme. Mark –

+0

Das Paket wird wirklich nicht benötigt. Kannst du den Inhalt der Vignette posten, die du machst? PS GitHub wäre eine ausgezeichnete Möglichkeit, dies zu teilen. Wenn du es noch nicht benutzt hast, schlage ich vor, dass du es versuchst. –

-1

Ändern der Swave-Option, um in den Tools-Optionen zu arbeiten, funktionierte für mich.

Verwandte Themen