web-dev-qa-db-ja.com

Knitr:Rパッケージチェックエラー、オブジェクト 'opts_chunk'が見つかりません

Rパッケージをチェックすると、次のエラーが発生します

_> 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開発者)は、RStudioでは、.Rnwファイルを織り込む方法としてknitrが設定されていなかったためだと述べました https://groups.google.com/forum/?fromgroups#!topic/knitr/ 9672CBbc8CM 。ツールとビルドオプションの両方でknitrを設定し、RパッケージのDESCRIPTIONファイルに次のように設定しました。

_VignetteBuilder: knitr
Suggests: knitr
_

そして、私が持っているビネットには:

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

RStudioでPDFをコンパイルするか、knit( "KNITR.Rnw")を使用すると、正しくコンパイルされます。パッケージを確認すると、ビネットごとに上記のエラーが発生します。私も入れました

_require(knitr)
_

opts_chunk $ setステートメントの前。それは役に立ちませんでした。コマンドラインからもチェックを実行しましたが、同じエラーが発生しました。助けてくれてありがとう。

Knitrは便利なパッケージです。私はビネットで長いシミュレーションを実行しますが、キャッシュを使用すると、毎回シミュレーションを実行しなくてもエラーを修正できます。 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   
_
22
Mark Otto

Knit()またはRStudioの[PDFのコンパイル]ボタンを使用してコンパイルできるニットビネットの場合、

エラー:オブジェクト 'opts_chunk'が見つかりません実行が停止しました

パッケージのチェックまたはビルド時にエラーが発生した場合、パッケージチェックコードは、.RnwファイルをknitedではなくSweaveedにする必要があることを認識していません。次のものがあることを確認してください。

  1. ビネットはビネットディレクトリにあります。R3.0.0以降を使用している場合(これがこの投稿の解決策でした)、cran.r-project.org/doc/manuals/r-devel/R-exts.html#Non_002dSweave -ビネット

  2. ビネットメタデータyihui.name/knitr/demo/vignette/に_%\VignetteEngine{knitr::knitr}_を含めます。

  3. パッケージDESCRIPTIONファイルで_VignetteBuilder: knitr_を指定し、

  4. Knitrがビネットにのみ必要な場合は、説明に_Suggests: knitr_を追加します

それが機能しない場合は、Ben Bolker、Yuhui、Tyler Rinkerが提案したように、opts_chunk()でグローバルオプションを設定する前にrequire(knitr)ステートメントを追加してください。

RStudioの場合:ビルド構成とツールオプションの両方で、Sweaveオプションをknitrに設定します(www.rstudio.com/ide/docs/authoring/rnw_weave)。

0
Mark Otto

このlibrary(knitr)の前にopts_chunk$set(cache = TRUE, fig.path = "DFSurveyImages/", dev = "pdf")を置きます

50
Tyler Rinker

最初にknitrライブラリをロードする必要があります。これを試してください:

```{r setoptions, echo=FALSE}
library(knitr)
opts_chunk$set(cache = TRUE, fig.path = "DFSurveyImages/", dev = "pdf")```
2
Mahmoud Reda

ツールオプションでSweaveオプションをknitrに変更するとうまくいきました。

0
David Medinets