From murdoch@dunc@n @ending from gm@il@com  Mon Jul  9 21:32:38 2018
From: murdoch@dunc@n @ending from gm@il@com (Duncan Murdoch)
Date: Mon, 9 Jul 2018 15:32:38 -0400
Subject: [Rd] Parametrized Vignettest in R packages
In-Reply-To: <CAAjnpdjWuQGYPBEstqHQn0wz-9d+8fyEH8oaArA+EDZ-u-WeGQ@mail.gmail.com>
References: <CAAjnpdhaeX+=RXCmq3g7jwYQZanfvps1q5i5znmynAGqxb1MPw@mail.gmail.com>
 <129b8986-700f-20bc-fefd-b813df73d06c@gmail.com>
 <CAAjnpdikxuy=KW1OVQEsqkQRwX8VLfedqwxO9mWzZ=cnijx-ZA@mail.gmail.com>
 <cafaec59-174f-9259-4d5c-f963299cdf23@gmail.com>
 <CAAjnpdhkSa2_-4yCMvM5pNPjdLem-D4MwM=UmNJrjTGeV8AQfQ@mail.gmail.com>
 <6ac69071-c1b9-a7df-b33c-3c9ab1a5c973@gmail.com>
 <CANROs4ffNzoB5ZCDpVjkz6RjboyYuDGb+BCP5Z2NtKywmXuRTQ@mail.gmail.com>
 <CAAjnpdjWuQGYPBEstqHQn0wz-9d+8fyEH8oaArA+EDZ-u-WeGQ@mail.gmail.com>
Message-ID: <95032c71-f99c-23d1-64a2-1651efa15cb0@gmail.com>

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



[Rd] Parametrized Vignettest in R packages
Duncan Murdoch