[R] error = FALSE causes knit2wp to throw duplicate label error
Duncan Murdoch
murdoch@dunc@n @ending from gm@il@com
Sun Dec 16 21:44:44 CET 2018
On 16/12/2018 2:48 PM, Nathan Parsons wrote:
> Goal: post from R to Wordpress installation on server.
>
> Problem: R keeps returning the error “Error in parse_block(g[-1],
> g[1], params.src) : duplicate label 'setup’” if error = FALSE in the
> knitr options or in an r chunk. It works fine if error = TRUE. I could
> just go through each post each time and remove any returned errors
> manually, but I'd like to find a more permanent solution.
>
> I don't have any duplicate labels; is knit2wp somehow introducing a
> duplicate label in the .Rmd
> -> .md / upload process?
That looks like a knitr issue. I don't know if Yihui reads this list;
you'd probably be better off on StackOverflow or filing an issue as
described at https://yihui.name/knitr/faq/.
Duncan Murdoch
>
> My code:
>
> ```{r setup, include=FALSE}
> ## Set the global chunk options for knitting reports
> knitr::opts_chunk$set(
> echo = TRUE,
> eval = TRUE,
> message = TRUE,
> error = FALSE,
> warning = TRUE,
> highlight = TRUE,
> prompt = FALSE
> )
>
> ## Load and activate libraries using 'pacman' package
> if (!require(pacman)) {
> install.packages("pacman", repos = "http://cran.us.r-project.org")
> require(pacman)
> }
>
> pacman::p_load_gh("duncantl/XMLRPC",
> "duncantl/RWordPress")
> pacman::p_load("knitr")
> ```
>
> ```{r chunk1, echo = FALSE}
> ## post information
> fileName <- "fancy_post.Rmd"
> postTitle <- "Fancy Post Title"
>
> ```
>
> blah blah blah...
>
> ```{r chunk2, echo = FALSE}
> ## Set working directory to correct location
> last_dir <- getwd()
> setwd("~/Sites/posts")
>
> ## Tell knitr to create the html code and upload it to your wordpress site
> knit2wp(input = fileName,
> title = postTitle,
> publish = FALSE,
> action = 'newPost')
>
> setwd(last_dir)
> ```
>
>
> Traceback:
> Error in parse_block(g[-1], g[1], params.src) : duplicate label 'setup'
> 26. stop("duplicate label '", label, "'")
> 25. parse_block(g[-1], g[1], params.src)
> 24. FUN(X[[i]], ...)
> 23. lapply(groups, function(g) { block = grepl(chunk.begin, g[1]) if
> (!set.preamble && !parent_mode()) { return(if (block) "" else g) ...
> 22. split_file(lines = text)
> 21. process_file(text, output)
> 20. knit(input, encoding = encoding, envir = envir)
> 19. knit2wp(input = fileName, title = postTitle, publish = FALSE,
> action = "newPost")
> 18. eval(expr, envir, enclos)
> 17. eval(expr, envir, enclos)
> 16. withVisible(eval(expr, envir, enclos))
> 15. withCallingHandlers(withVisible(eval(expr, envir, enclos)),
> warning = wHandler, error = eHandler, message = mHandler)
> 14. handle(ev <- withCallingHandlers(withVisible(eval(expr, envir,
> enclos)), warning = wHandler, error = eHandler, message = mHandler))
> 13. timing_fn(handle(ev <- withCallingHandlers(withVisible(eval(expr,
> envir, enclos)), warning = wHandler, error = eHandler, message =
> mHandler)))
> 12. evaluate_call(expr, parsed$src[[i]], envir = envir, enclos =
> enclos, debug = debug, last = i == length(out), use_try =
> stop_on_error != 2L, keep_warning = keep_warning, keep_message =
> keep_message, output_handler = output_handler, include_timing =
> include_timing)
> 11. evaluate::evaluate(...)
> 10. evaluate(code, envir = env, new_device = FALSE, keep_warning =
> !isFALSE(options$warning), keep_message = !isFALSE(options$message),
> stop_on_error = if (options$error && options$include) 0L else 2L,
> output_handler = knit_handlers(options$render, options))
> 9. in_dir(input_dir(), evaluate(code, envir = env, new_device = FALSE,
> keep_warning = !isFALSE(options$warning), keep_message =
> !isFALSE(options$message), stop_on_error = if (options$error &&
> options$include) 0L else 2L, output_handler =
> knit_handlers(options$render, options)))
> 8. block_exec(params)
> 7. call_block(x)
> 6. process_group.block(group)
> 5. process_group(group)
> 4. withCallingHandlers(if (tangle) process_tangle(group) else
> process_group(group), error = function(e) { setwd(wd) cat(res, sep =
> "\n", file = output %n% "") ...
> 3. process_file(text, output)
> 2. knit(input, encoding = encoding, envir = envir)
> 1. knit2wp(input = fileName, title = postTitle, publish = FALSE,
> action = "newPost")
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list