Dear Duncan, Was close to giving up to use the parameterized rmarkown as vignettes. But your suggestions to use quote and eval, as well as to use the package parameter in data made it work, with all devtools::install,check,build and build_vignettes as well as with R CMD ... etc. But most importantly it also still works with: rmarkdown::render("vignettes/tr_srm_summary.Rmd", params=list(configuration=skylineconfig, data=sample_analysis ))
THANK YOU. This is how my vignette header looks (see below) and it works. --- title: "Titel" author: "w...@fgcz.ethz.ch" date: "`r Sys.Date()`" output: pdf_document: default html_document: default params: configuration: !r quote(get(data(skylineconfig, package="myPackage"))) data: !r quote(get(data(sample_analysis, package="myPackage"))) vignette: > %\VignetteIndexEntry{Summarize Peptide Level Measurements} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include=FALSE} library(tidyverse) knitr::opts_chunk$set(echo = FALSE, message=FALSE) data <- eval(params$data) configuration <- eval(params$configuration) ``` Have a great evening. regards Witek On 9 July 2018 at 21:32, Duncan Murdoch <murdoch.dun...@gmail.com> wrote: > On 09/07/2018 3:24 PM, Witold E Wolski wrote: >> >> Dear Yihui, >> >> Thank you for the valuable questions. >> >> sample_analysis is a "tibble" while >> configuration is an "R6" class. >> But I also have parametrized reports where I pass R reference classes >> as arguments. >> >> This is the Rmd yaml params part corresponding to the error message. >> >> params: >> configuration: !r get(data(skylineconfig)) >> data: !r get(data(sample_analysis)) >> >> Might the R6 class which I pass to configuration the source of the >> problem here? I have heard somewhere that R6 uses environments to >> implemented some features. >> >> >> >> There is also a further problem I am encountering reproducible when >> running devtools::install() or R CMD INSTALL >> >> ** installing vignettes >> 'tr_srm_summary.Rmd' using 'UTF-8' >> Warning in data(skylineconfig) : data set 'skylineconfig' not found >> Error in get(data(skylineconfig)) : object 'skylineconfig' not found > > > You likely need to specify the package name, e.g. > > data("skylineconfig", package = "yourpackage") > > Also see my suggestion to use quote() to delay evaluation: > > >> params: >> configuration: !r quote(get(data(sample_analysis))) >> >> in the YAML will set configuration to the expression needed to get the >> environment; >> >> eval(params$configuration) > > > Duncan Murdoch -- Witold Eryk Wolski ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel