[R] Debugging Rmarkdown

Jeff Newmiller jdnewm|| @end|ng |rom dcn@d@v|@@c@@u@
Sat Apr 20 00:39:28 CEST 2019


Chunks are not isolated... they are executed in sequence in the same environment, starting with a fresh environment unrelated to whatever is present when you invoke render().

On April 19, 2019 3:00:33 PM PDT, 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.

-- 
Sent from my phone. Please excuse my brevity.



More information about the R-help mailing list