[R] Debugging Rmarkdown
William Dunlap
wdun|@p @end|ng |rom t|bco@com
Sat Apr 20 00:58:55 CEST 2019
You can set the error handler to save the current state of R in a file,
"last.dump.rda" in the current working directory, when an error occurs with
options(error=expression(dump.frames(to.file=TRUE,
include.GlobalEnv=TRUE)))
In another R session you can look at what it saved with
load("last.dump.rda")
debugger(last.dump)
Bill Dunlap
TIBCO Software
wdunlap tibco.com
On Fri, Apr 19, 2019 at 3:05 PM Patrick Connolly <p_connolly using slingshot.co.nz>
wrote:
> There are options to set echo and messages but AFAIK, the text appears
> in the resultant file, but if the script fails, there's no file to inspect.
>
> On 20/04/19 9:50 AM, Bert Gunter wrote:
> > This might be offbase, but do you need to set options to cache the
> > results in the original code chunks to reuse in later chunks? (I
> > haven't worked with knitr lately, so this may be nonsense).
> >
> > Cheers,
> > Bert
> >
> > On Fri, Apr 19, 2019 at 2:03 PM Patrick Connolly
> > <p_connolly using slingshot.co.nz <mailto:p_connolly using slingshot.co.nz>> wrote:
> >
> >
> > On 19/04/19 12:13 AM, Thierry Onkelinx wrote:
> > > Dear Patrick,
> > >
> > > This is not easy to debug without a reprex
> > >
> > > I would check the content of zzz and wide.i in the loop
> > >
> > > str(wide.i)
> > > zzz <- rbind(zzz, wide.i)
> > > str(zzz)
> > >
> > That's just what I'm trying to achieve but the debugging doesn't work
> > how it does with regular R code.
> >
> > > Note that the Rmd always runs in a clean environment. This might
> > > explain the difference
> > >
> > The data frames xx and yy are defined in earlier code chunks. Maybe I
> > need to define them again.
> >
> >
> > I'll look closer at it after Easter.
> >
> >
> > Thanks for the suggestion.
> >
> > > Best regards,
> > >
> > > ir. Thierry Onkelinx
> > > Statisticus / Statistician
> > >
> > > Vlaamse Overheid / Government of Flanders
> > > INSTITUUT VOOR NATUUR- EN BOSONDERZOEK / RESEARCH INSTITUTE FOR
> > NATURE
> > > AND FOREST
> > > Team Biometrie & Kwaliteitszorg / Team Biometrics & Quality
> > Assurance
> > > thierry.onkelinx using inbo.be <mailto:thierry.onkelinx using inbo.be>
> > <mailto:thierry.onkelinx using inbo.be <mailto:thierry.onkelinx using inbo.be>>
> > > Havenlaan 88 bus 73, 1000 Brussel
> > > www.inbo.be <http://www.inbo.be> <http://www.inbo.be>
> > >
> > >
> >
> ///////////////////////////////////////////////////////////////////////////////////////////
> > > To call in the statistician after the experiment is done may be no
> > > more than asking him to perform a post-mortem examination: he
> > may be
> > > able to say what the experiment died of. ~ Sir Ronald Aylmer Fisher
> > > The plural of anecdote is not data. ~ Roger Brinner
> > > The combination of some data and an aching desire for an answer
> > does
> > > not ensure that a reasonable answer can be extracted from a
> > given body
> > > of data. ~ John Tukey
> > >
> >
> ///////////////////////////////////////////////////////////////////////////////////////////
> > >
> > > <https://www.inbo.be>
> > >
> > >
> > > Op do 18 apr. 2019 om 11:53 schreef Patrick Connolly
> > > <p_connolly using slingshot.co.nz <mailto:p_connolly using slingshot.co.nz>
> > <mailto:p_connolly using slingshot.co.nz
> > <mailto:p_connolly using slingshot.co.nz>>>:
> > >
> > > I have a function that works in ESS, but it fails if I
> > include it in
> > > an .Rmd file that I tried to knit using Rstudio. I found
> > advice at:
> > >
> >
> https://www.rstudio.com/products/rstudio/release-notes/debugging-with-rstudio/
> > >
> > > It seems to be not referring to markdown files. Somewhere else
> > > suggested calling render() in the console pane. I tried
> > that. The
> > > browser() function interrupts correctly, but I can't find
> > out what the
> > > object zzz in the code below looks like. Nothing prints the
> > way it
> > > would in a "normal" R buffer.
> > >
> > > code outline: making zzz out of two dataframes xx and yy
> > >
> > > ##
> > > zzz <- NULL
> > > for(i in xx$Sample){
> > > raw.i <- <stuff>
> > >
> > > etc. etc.
> > >
> > > zzz <- rbind(zzz, wide.i)
> > > }
> > > browser()
> > >
> > > names(zzz) <- c("Cultivar", "Test", "Change")
> > > That line fails, with a complaint about zzz being NULL.
> > >
> > > It appears as though the rbind doesn't do anything, but I
> > can't see
> > > what wide.i looks like to get an idea what could be the cause.
> > >
> > > Ideas what I should try are welcome. I have no idea why the
> > code
> > > works in an R environment but not an Rmd one.
> > >
> > >
> > > R-3.5.2,
> > > platform x86_64-pc-linux-gnu
> > > arch x86_64
> > > os linux-gnu
> > > system x86_64, linux-gnu
> > >
> > > Rstudio Version 1.1.383
> > >
> > >
> > >
> > > --
> > >
> >
> ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
> > >
> > > ___ Patrick Connolly
> > > {~._.~} Great minds discuss ideas
> > > _( Y )_ Average minds discuss events
> > > (:_~*~_:) Small minds discuss people
> > > (_)-(_) ..... Eleanor Roosevelt
> > >
> > >
> >
> ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
> > >
> > > ______________________________________________
> > > R-help using r-project.org <mailto:R-help using r-project.org>
> > <mailto:R-help using r-project.org <mailto: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.
> > >
> >
> > [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help using r-project.org <mailto: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.
> >
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
>
[[alternative HTML version deleted]]
More information about the R-help
mailing list