Debugging Rmarkdown

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Debugging Rmarkdown

Patrick Connolly-4
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
         
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Debugging Rmarkdown

R help mailing list-2
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)

Note that the Rmd always runs in a clean environment. This might explain
the difference

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
[hidden email]
Havenlaan 88 bus 73, 1000 Brussel
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 <
[hidden email]>:

> 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
>
> ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
>
> ______________________________________________
> [hidden email] 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]]

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Debugging Rmarkdown

Patrick Connolly-4

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
> [hidden email] <mailto:[hidden email]>
> Havenlaan 88 bus 73, 1000 Brussel
> 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
> <[hidden email] <mailto:[hidden email]>>:
>
>     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
>
>     ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
>
>     ______________________________________________
>     [hidden email] <mailto:[hidden email]> 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]]

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Debugging Rmarkdown

Jeff Newmiller
I just run each chunk in sequence starting from an fresh restart of R by copying code to the R console. However you can use knitr::purl to extract all of the code into a regular R script to do whatever debugging you are most familiar with.

On April 19, 2019 2:03:00 PM PDT, Patrick Connolly <[hidden email]> 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
>> [hidden email] <mailto:[hidden email]>
>> Havenlaan 88 bus 73, 1000 Brussel
>> 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
>> <[hidden email] <mailto:[hidden email]>>:
>>
>>     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
>>
>>    
>~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
>>
>>     ______________________________________________
>>     [hidden email] <mailto:[hidden email]> 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]]
>
>______________________________________________
>[hidden email] 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.

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Debugging Rmarkdown

Bert Gunter-2
In reply to this post by Patrick Connolly-4
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 <[hidden email]>
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
> > [hidden email] <mailto:[hidden email]>
> > Havenlaan 88 bus 73, 1000 Brussel
> > 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
> > <[hidden email] <mailto:[hidden email]>>:
> >
> >     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
> >
> >
>  ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
> >
> >     ______________________________________________
> >     [hidden email] <mailto:[hidden email]> 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]]
>
> ______________________________________________
> [hidden email] 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]]

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Debugging Rmarkdown

Patrick Connolly-4
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
> <[hidden email] <mailto:[hidden email]>> 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
>     > [hidden email] <mailto:[hidden email]>
>     <mailto:[hidden email] <mailto:[hidden email]>>
>     > 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
>     > <[hidden email] <mailto:[hidden email]>
>     <mailto:[hidden email]
>     <mailto:[hidden email]>>>:
>     >
>     >     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
>     >
>     >
>      ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
>     >
>     >     ______________________________________________
>     > [hidden email] <mailto:[hidden email]>
>     <mailto:[hidden email] <mailto:[hidden email]>>
>     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]]
>
>     ______________________________________________
>     [hidden email] <mailto:[hidden email]> 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]]

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Debugging Rmarkdown

Jeff Newmiller
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 <[hidden email]> 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
>> <[hidden email] <mailto:[hidden email]>>
>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
>>     > [hidden email] <mailto:[hidden email]>
>>     <mailto:[hidden email]
><mailto:[hidden email]>>
>>     > 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
>>     > <[hidden email] <mailto:[hidden email]>
>>     <mailto:[hidden email]
>>     <mailto:[hidden email]>>>:
>>     >
>>     >     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
>>     >
>>     >
>>    
> ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
>>     >
>>     >     ______________________________________________
>>     > [hidden email] <mailto:[hidden email]>
>>     <mailto:[hidden email] <mailto:[hidden email]>>
>>     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]]
>>
>>     ______________________________________________
>>     [hidden email] <mailto:[hidden email]> 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]]
>
>______________________________________________
>[hidden email] 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.

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Debugging Rmarkdown

R help mailing list-2
In reply to this post by Patrick Connolly-4
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 <[hidden email]>
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
> > <[hidden email] <mailto:[hidden email]>> 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
> >     > [hidden email] <mailto:[hidden email]>
> >     <mailto:[hidden email] <mailto:[hidden email]>>
> >     > 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
> >     > <[hidden email] <mailto:[hidden email]>
> >     <mailto:[hidden email]
> >     <mailto:[hidden email]>>>:
> >     >
> >     >     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
> >     >
> >     >
> >
>   ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
> >     >
> >     >     ______________________________________________
> >     > [hidden email] <mailto:[hidden email]>
> >     <mailto:[hidden email] <mailto:[hidden email]>>
> >     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]]
> >
> >     ______________________________________________
> >     [hidden email] <mailto:[hidden email]> 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]]
>
> ______________________________________________
> [hidden email] 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]]

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: Debugging Rmarkdown

Patrick Connolly-4
In reply to this post by Jeff Newmiller
knitr::purl -- thats a great tip!  As soon as got hold of a reqular .R
script, I spotted the reason why my Fmd file wouldn't knit in a matter
of seconds.  Thank you Jeff.  Thanks also to all the other suggestions.



On Fri, 19-Apr-2019 at 02:44PM -0700, Jeff Newmiller wrote:

|> I just run each chunk in sequence starting from an fresh restart of
|> R by copying code to the R console. However you can use knitr::purl
|> to extract all of the code into a regular R script to do whatever
|> debugging you are most familiar with.


|> On April 19, 2019 2:03:00 PM PDT, Patrick Connolly <[hidden email]> 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
|> >> [hidden email] <mailto:[hidden email]>
|> >> Havenlaan 88 bus 73, 1000 Brussel
|> >> 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
|> >> <[hidden email] <mailto:[hidden email]>>:
|> >>
|> >>     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
|> >>
|> >>    
|> >~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
|> >>
|> >>     ______________________________________________
|> >>     [hidden email] <mailto:[hidden email]> 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]]
|> >
|> >______________________________________________
|> >[hidden email] 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.

--
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.  
   ___    Patrick Connolly  
 {~._.~}                   Great minds discuss ideas    
 _( Y )_           Average minds discuss events
(:_~*~_:)                  Small minds discuss people  
 (_)-(_)                        ..... Eleanor Roosevelt
         
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.

______________________________________________
[hidden email] 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.