tutorial - Knitr: error de comprobación del paquete R, no se encontró el objeto ''opts_chunk''
knit r (3)
Recibo el siguiente error al revisar mi paquete 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 (desarrollador de knitr) dijo que esto se debía a que en RStudio, knitr no estaba configurado como método para tejer archivos .Rnw, https://groups.google.com/forum/?fromgroups#!topic/knitr/9672CBbc8CM . He establecido knitr tanto en las herramientas como en las opciones de compilación, en el archivo de DESCRIPCIÓN del paquete R tengo:
VignetteBuilder: knitr
Suggests: knitr
y en la viñeta tengo:
%/VignetteEngine{knitr}
%/VignetteDepends{knitr,xtable,TSP}
Cuando uso compilar el pdf en RStudio o usar knit ("KNITR.Rnw"), se compila correctamente. Cuando reviso el paquete, recibo los errores anteriores para cada viñeta. Incluso puse
require(knitr)
antes de mi opts_chunk $ establecer declaración. Eso no ayudó. También he ejecutado la comprobación desde la línea de comandos y he recibido el mismo error. Gracias por cualquier ayuda.
Knitr es un paquete útil. Ejecuto simulaciones largas en viñetas, y el caché hace posible corregir errores sin ejecutar las simulaciones cada vez. Tampoco tiene el problema de intentar encontrar el archivo Sweave.sty.
Aquí está mi 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
Cambiar la opción Sweave a knitr en las opciones de Herramientas funcionó para mí.
Para una viñeta de knitr que puede compilar usando knit () o con el botón "Compilar PDF" en RStudio, pero eso obtiene una
Error: el objeto ''opts_chunk'' no se encuentra Ejecución detenida
error al verificar o crear el paquete, el código de verificación del paquete no reconoce que su archivo .Rnw debe ser knit
y no editado. Comprueba que tienes lo siguiente:
Las viñetas están en el directorio de viñetas, si tiene R 3.0.0 o superior (esta fue la solución a esta publicación), cran.r-project.org/doc/manuals/r-devel/R-exts.html#Non_002dSweave -viñetas
Incluya
%/VignetteEngine{knitr::knitr}
en los metadatos de viñeta, yihui.name/knitr/demo/vignette/Especifique
VignetteBuilder: knitr
en el archivo de DESCRIPCIÓN del paquete, yAgregar
Suggests: knitr
en DESCRIPCIÓN si se necesita knitr solo para viñetas
Si eso no funciona, agregue una declaración de requerimiento (knitr) antes de configurar sus opciones globales en opts_chunk()
, como sugirieron Ben Bolker, Yuhui y Tyler Rinker.
Si está en RStudio: en AMBOS, la configuración de compilación y las opciones de la herramienta, configure la opción Sweave en knitr, www.rstudio.com/ide/docs/authoring/rnw_weave
ponga la library(knitr)
antes de este opts_chunk$set(cache = TRUE, fig.path = "DFSurveyImages/", dev = "pdf")