Подтвердить что ты не робот

Ошибка опроса 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 knitr не был установлен как метод плетения файлов .Rnw, https://groups.google.com/forum/?fromgroups#!topic/knitr/9672CBbc8CM. У меня есть knitr, установленный как в инструментах, так и в вариантах сборки, в файле R пакета DESCRIPTION у меня есть:

VignetteBuilder: knitr
Suggests: knitr

и в виньетке у меня есть:

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

Когда я использую компиляцию PDF в RStudio или используйте knit ( "KNITR.Rnw" ), он компилируется правильно. Когда я проверяю пакет, я получаю вышеуказанные ошибки для каждой виньетки. Я даже положил

require(knitr)

перед моей командой set opts_chunk $. Это не помогло. Я также проверил проверку из командной строки и получил ту же ошибку. Спасибо за любую помощь.

Натрит - полезный пакет. Я запускаю длинные симуляции в виньетках, и кеш позволяет исправлять ошибки, не запуская имитации за каждый раз. У него нет проблемы с попыткой найти файл 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   
4b9b3361

Ответ 1

Для виньетки, которую вы можете скомпилировать с помощью knit() или с помощью кнопки "Compile PDF" в RStudio, но которая получает

Ошибка: объект 'opts_chunk' не найден Выполнение приостановлено

при проверке или создании пакета код проверки пакета не распознает, что ваш .Rnw файл должен быть knit ed, а не Sweave ed. Убедитесь, что у вас есть следующее:

  • Виньетки находятся в каталоге виньетки, если у вас есть R 3.0.0 или выше (это было решение этой должности), cran.r-project.org/doc/manuals/r-devel/R-exts.html#Non_002dSweave-vignettes

  • Включить %\VignetteEngine{knitr::knitr} в метаданные виньетки, yihui.name/knitr/demo/vignette/

  • Укажите VignetteBuilder: knitr в файле DESCRIPTION пакета и

  • Добавьте Suggests: knitr в ОПИСАНИЕ, если knitr необходимо только для виньетки

Если это не сработает, добавьте инструкцию require (knitr), прежде чем вы установите глобальные параметры в opts_chunk(), как предположили Ben Bolker, Yuhui и Tyler Rinker.

Если в RStudio:  В BOTH конфигурации Build и опции инструмента установите параметр Sweave для knitr, www.rstudio.com/ide/docs/authoring/rnw_weave

Ответ 2

поставьте library(knitr) до этого opts_chunk$set(cache = TRUE, fig.path = "DFSurveyImages/", dev = "pdf")

Ответ 3

Изменение опции Sweave для knitr в параметрах Tools работало для меня.