2013-05-25 44 views
21

檢查我的[R包Knitr,R包檢查錯誤,對象opts_chunk'未找到

> 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 

藝輝謝(knitr開發商)說,這是因爲在RStudio,knitr不是我收到以下錯誤設置爲編織的方法.Rnw文件,https://groups.google.com/forum/?fromgroups#!topic/knitr/9672CBbc8CM。我已經在這兩個工具knitr設置和編譯選項,在R軟件包說明文件,我有:

VignetteBuilder: knitr 
Suggests: knitr 

,並在小插曲,我有:

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

當我使用編譯RStudio的PDF或使用knit(「KNITR.Rnw」),它編譯正確。當我檢查包裹時,我得到了每個小插曲的上述錯誤。我甚至把

require(knitr) 

我opts_chunk $組語句之前。這沒有幫助。我也從命令行運行檢查並得到相同的錯誤。感謝您的任何幫助。

Knitr是一個有用的軟件包。我在vignettes中運行很長時間的模擬,並且緩存可以在每次不運行模擬的情況下糾正錯誤。它沒有試圖找到Sweave.sty文件的問題。

這是我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

你能提供一個複製這個問題的最小工作示例嗎? –

+1

@TylerRinker,你爲什麼在調用opts_chunk $ set()'「)之前刪除了你的答案(」add'library('knitr')'')?看起來像一個好主意給我... –

+0

他們說,他們使用前要求$大塊鍋。現在我會取消刪除它。 –

回答

-1

對於knitr小插曲,你可以編譯使用針織(),或在RStudio「編譯PDF」按鈕,但得到一個

Error: object 'opts_chunk' not found Execution halted

錯誤時檢查或建立的包,包檢查代碼不承認你的.Rnw文件守ld是knit ed而不是Sweave ed。請檢查您有以下幾點:

  1. 的小插曲是在目錄中的小插曲,如果你具有R 3.0.0或更高 (這是解決這一職位), cran.r-project.org /doc/manuals/r-devel/R-exts.html#Non_002dSweave-vignettes

  2. 納入暈影元數據%\VignetteEngine{knitr::knitr}, yihui.name/knitr/demo/vignette/

  3. 指定在VignetteBuilder: knitr包描述文件和

  4. 在描述添加Suggests: knitr如果只需要 護身符

如果不行添加需要(knitr)語句,你在opts_chunk()設置全局選項之前,如本Bolker,昱輝陽knitr和Tyler Rinker建議。

如果在RStudio中: 在這兩個生成配置和工具選項中,將Sweave選項設置爲knitr,www。rstudio.com/ide/docs/authoring/rnw_weave

48

library(knitr)在此之前opts_chunk$set(cache = TRUE, fig.path = "DFSurveyImages/", dev = "pdf")

+4

**備註**:益輝編輯此,注意。 –

+0

@本,我確實擁有它,但結果是一樣的,找不到opt_chuck。我做了一個簡單的例子來運行。我確實提出了要求聲明。這裏是保管箱鏈接,https://www.dropbox.com/l/W0iYiBxwxHBwUB7Er43la9。 (我不是這樣如何附加代碼。)我使用--no-vignettes做了一個包,而.zip文件是我用來製作測試包的文件。對不起,關於我在收到回覆時被設置爲通知的延遲響應。馬克 –

+0

包真的不需要。你可以發佈你正在製作的小插曲的內容嗎? PS GitHub將是一個很好的分享方式。如果你還沒有開始使用它,我建議你試試看。 –

-1

在Tools選項中將Sweave選項更改爲knitr。