22

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 では、knitr が .Rnw ファイルを織る方法として設定されていなかったためだと述べています。私が持っているRパッケージのDESCRIPTIONファイルには、ツールとビルドオプションの両方にknitrが設定されています。

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   
4

5 に答える 5

0

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

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

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

  1. R 3.0.0 以降 (これがこの投稿の解決策でした) を使用している場合、ビネットは vignette ディレクトリにあります。 -ビネット

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

  3. VignetteBuilder: knitrパッケージのDESCRIPTIONファイルで指定し、

  4. Suggests: knitrビネットにのみknitrが必要な場合は、説明を追加してください

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

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

于 2013-05-30T19:06:29.757 に答える