Dear Duncan, Thank you, got it working with your advice.
I did placed the child markdown documents into inst/ParametrizedReportsChild And this is the code in the main vignette by which I include them: child_docs <- "Grp2Analysis_MissingInOneCondtion.Rmd_t" if(!sum(NAinfo$nrProteins > 0) > 0){ child_docs <- "Grp2Analysis_Empty.Rmd_t" } child_docs <- system.file(file.path("ParametrizedReportsChild",child_docs),package = "SRMService") However, according to writing package vignettes [https://cran.r-project.org/doc/manuals/R-exts.html#Writing-package-vignettes] : "All other files needed to re-make the vignettes (such as LaTeX style files, BibTeX input files and files for any figures not created by running the code in the vignette) _must_ be in the vignette source directory." So why placing those files i.e. Grp2Analysis_MissingInOneCondtion.Rmd_t and Grp2Analysis_Empty.Rmd_t in the vignettes folder and including them by: child_docs <- "Grp2Analysis_MissingInOneCondtion.Rmd_t" if(!sum(NAinfo$nrProteins > 0) > 0){ child_docs <- "Grp2Analysis_Empty.Rmd_t" } , did not work? Have a great day, best regards Witek On 10 July 2018 at 19:52, Duncan Murdoch <murdoch.dun...@gmail.com> wrote: > On 10/07/2018 11:44 AM, Witold E Wolski wrote: >> >> Dear List, >> >> I am working on moving some Rmarkdown reports into the vignettes >> folder of a package. While I was able to solve to problem of >> parametrized reports in vignettes folder thanks to your invaluable >> help (Thank you), I am now struggling with the following problem. >> >> >> One of the reports which I am moving to vignettes includes the following >> code : >> >> >> ```{r} >> child_docs <- "Grp2Analysis_MissingInOneCondtion.Rmd_t" >> if(TRUE){ >> child_docs <- "Grp2Analysis_Empty.Rmd_t" >> } >> >> ``` >> >> ```{r includeMissingInOne, child = child_docs} >> ``` >> # this is line 351 from the error message >> >> which depending on a test outcome includes one or the other Rmarkdown >> document into the main document. >> >> >> While this report renders executing rmarkdown::render or >> devtools::build_vignettes, it fails when building the package with >> devtools::build or R CMD build >> given the following error: >> >> >> Error in eval(x, envir = envir) : object 'child_docs' not found >> Warning in readLines(if (is.character(input2)) { : >> cannot open file './child_docs': No such file or directory >> Quitting from lines 351-351 (./child_docs) >> Error in readLines(if (is.character(input2)) { : >> cannot open the connection >> ERROR: installing vignettes failed >> * removing >> 'C:/Users/wolski/AppData/Local/Temp/RtmpIti891/Rinst2cec49ca2170/SRMService' >> In R CMD INSTALL >> > > > Since you didn't give a path to that file, it will use the current working > directory, which might be a temporary directory used during the package > installation. Since you want this to work as a vignette, you need to > include the child docs in your package. One way to do that is to put them > in a new directory called "inst/children", which will be installed to > "children" when your package is installed. Then the vignette can find the > file as > > system.file(file.path("children", child_docs), package = "yourpackage") > > You could also put them in the "vignettes" directory, but there are special > rules for how files there are installed or not, so I'd recommend against it. > > Duncan Murdoch -- Witold Eryk Wolski ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel