Re: [R-pkg-devel] Printing examples conditionally on another package in Suggests

2018-08-10 Thread Zhian Kamvar
This was what I was looking for! Thank you!

I apologize for my insufficient google-fu today.

On Fri, Aug 10, 2018 at 12:55 PM Georgi Boshnakov <
georgi.boshna...@manchester.ac.uk> wrote:

> Maybe  Martin Maechler's post in response to a similar question answers
> your question:
>
> https://stat.ethz.ch/pipermail/r-package-devel/2018q2/002780.html
>
> In summary, wrap the code in:
>
>   if (requireNamespace("MASS", quietly = TRUE)) withAutoprint({
>
>   your code
>
>   })
>
>
> Georgi Boshnakov
>
> -Original Message-
> From: R-package-devel [mailto:r-package-devel-boun...@r-project.org] On
> Behalf Of Zhian Kamvar
> Sent: 10 August 2018 12:26
> To: Alexandre Courtiol
> Cc: R-list Package Devel
> Subject: Re: [R-pkg-devel] Printing examples conditionally on another
> package in Suggests
>
> Thanks, but my use of print here is really a toy example, not necessarily
> the end-goal. This strategy would fail if I were to attempt load a data set
> from some_package or use any functions from some_package.
>
> A more specific example of what I'm dealing with is here:
>
> http://www.repidemicsconsortium.org/incidence/reference/get_counts.html#examples
> .
> This is what the user would see if they were to use example(get_counts).
>
> On Fri, Aug 10, 2018 at 12:14 PM Alexandre Courtiol <
> alexandre.court...@gmail.com> wrote:
>
> > Perhaps then something like:
> > Print <- function(x) if (requireNamespace("some.package", quietly =
> TRUE))
> > print(x)
> > Print("Hi")
> > Print("Hello")
> > Print("Goodbye")
> >
> >
> >
> > On Fri, 10 Aug 2018 at 12:33, Zhian Kamvar  wrote:
> >
> >> Mainly, I would like to see the value printed after the print statement
> >> like it would appear in a normal R session:
> >>
> >> print("Hi")
> >> #> [1] "Hi"
> >> print("Hello")
> >> #> [1] "Hello"
> >> print("Goodbye")
> >> #> [1] "Goodbye"
> >>
> >>
> >> On Fri, Aug 10, 2018 at 11:28 AM Alexandre Courtiol <
> >> alexandre.court...@gmail.com> wrote:
> >>
> >>> Hi Zhian,
> >>> Could you please explain what behaviour you would like to obtain?
> >>> I really don't understand what your problem is from your description...
> >>> Alex
> >>>
> >>> On Fri, 10 Aug 2018 at 12:18, Zhian Kamvar  wrote:
> >>>
> >>>> Hello,
> >>>>
> >>>> I know it's good practice to use
> >>>>
> >>>> if (require("some_package")) {
> >>>>   # some code that needs some_package
> >>>> }
> >>>>
> >>>> In R examples that needs a package listed in Suggests.
> >>>>
> >>>> The problem with this approach is that if there are any print
> statements
> >>>> within this structure, then they only get printed after the braces and
> >>>> not
> >>>> after the lines like so:
> >>>>
> >>>> if (TRUE) {
> >>>>   print("Hi")
> >>>>   print("Hello")
> >>>>   print("Goodbye")
> >>>> }
> >>>> #> [1] "Hi"
> >>>> #> [1] "Hello"
> >>>> #> [1] "Goodbye"
> >>>>
> >>>> The only way I can think of circumventing this is by replacing the if
> >>>> statement with a stopifnot statement:
> >>>>
> >>>> stopifnot(require("some_package"))
> >>>> # some code that needs some_package
> >>>>
> >>>> But, I'm not sure if that's okay to do in a function example. Does
> >>>> anyone
> >>>> have any ideas or suggestions on how to help with this kind of thing?
> >>>>
> >>>> Cheers,
> >>>> Zhian
> >>>>
> >>>> [[alternative HTML version deleted]]
> >>>>
> >>>> __
> >>>> R-package-devel@r-project.org mailing list
> >>>> https://stat.ethz.ch/mailman/listinfo/r-package-devel
> >>>>
> >>>
> >>>
> >>> --
> >>> Alexandre Courtiol
> >>>
> >>> http://sites.google.com/site/alexandrecourtiol/home
> >>>
> >>> *"Science is the belief in the ignorance of experts"*, R. Feynman
> >>>
> >>
> >
> > --
> > Alexandre Courtiol
> >
> > http://sites.google.com/site/alexandrecourtiol/home
> >
> > *"Science is the belief in the ignorance of experts"*, R. Feynman
> >
>
> [[alternative HTML version deleted]]
>
> __
> R-package-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>

[[alternative HTML version deleted]]

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] Printing examples conditionally on another package in Suggests

2018-08-10 Thread Georgi Boshnakov
Maybe  Martin Maechler's post in response to a similar question answers your 
question:

https://stat.ethz.ch/pipermail/r-package-devel/2018q2/002780.html   

In summary, wrap the code in:

  if (requireNamespace("MASS", quietly = TRUE)) withAutoprint({

  your code

  })


Georgi Boshnakov

-Original Message-
From: R-package-devel [mailto:r-package-devel-boun...@r-project.org] On Behalf 
Of Zhian Kamvar
Sent: 10 August 2018 12:26
To: Alexandre Courtiol
Cc: R-list Package Devel
Subject: Re: [R-pkg-devel] Printing examples conditionally on another package 
in Suggests

Thanks, but my use of print here is really a toy example, not necessarily
the end-goal. This strategy would fail if I were to attempt load a data set
from some_package or use any functions from some_package.

A more specific example of what I'm dealing with is here:
http://www.repidemicsconsortium.org/incidence/reference/get_counts.html#examples.
This is what the user would see if they were to use example(get_counts).

On Fri, Aug 10, 2018 at 12:14 PM Alexandre Courtiol <
alexandre.court...@gmail.com> wrote:

> Perhaps then something like:
> Print <- function(x) if (requireNamespace("some.package", quietly = TRUE))
> print(x)
> Print("Hi")
> Print("Hello")
> Print("Goodbye")
>
>
>
> On Fri, 10 Aug 2018 at 12:33, Zhian Kamvar  wrote:
>
>> Mainly, I would like to see the value printed after the print statement
>> like it would appear in a normal R session:
>>
>> print("Hi")
>> #> [1] "Hi"
>> print("Hello")
>> #> [1] "Hello"
>> print("Goodbye")
>> #> [1] "Goodbye"
>>
>>
>> On Fri, Aug 10, 2018 at 11:28 AM Alexandre Courtiol <
>> alexandre.court...@gmail.com> wrote:
>>
>>> Hi Zhian,
>>> Could you please explain what behaviour you would like to obtain?
>>> I really don't understand what your problem is from your description...
>>> Alex
>>>
>>> On Fri, 10 Aug 2018 at 12:18, Zhian Kamvar  wrote:
>>>
>>>> Hello,
>>>>
>>>> I know it's good practice to use
>>>>
>>>> if (require("some_package")) {
>>>>   # some code that needs some_package
>>>> }
>>>>
>>>> In R examples that needs a package listed in Suggests.
>>>>
>>>> The problem with this approach is that if there are any print statements
>>>> within this structure, then they only get printed after the braces and
>>>> not
>>>> after the lines like so:
>>>>
>>>> if (TRUE) {
>>>>   print("Hi")
>>>>   print("Hello")
>>>>   print("Goodbye")
>>>> }
>>>> #> [1] "Hi"
>>>> #> [1] "Hello"
>>>> #> [1] "Goodbye"
>>>>
>>>> The only way I can think of circumventing this is by replacing the if
>>>> statement with a stopifnot statement:
>>>>
>>>> stopifnot(require("some_package"))
>>>> # some code that needs some_package
>>>>
>>>> But, I'm not sure if that's okay to do in a function example. Does
>>>> anyone
>>>> have any ideas or suggestions on how to help with this kind of thing?
>>>>
>>>> Cheers,
>>>> Zhian
>>>>
>>>> [[alternative HTML version deleted]]
>>>>
>>>> __
>>>> R-package-devel@r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>>>>
>>>
>>>
>>> --
>>> Alexandre Courtiol
>>>
>>> http://sites.google.com/site/alexandrecourtiol/home
>>>
>>> *"Science is the belief in the ignorance of experts"*, R. Feynman
>>>
>>
>
> --
> Alexandre Courtiol
>
> http://sites.google.com/site/alexandrecourtiol/home
>
> *"Science is the belief in the ignorance of experts"*, R. Feynman
>

[[alternative HTML version deleted]]

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] Printing examples conditionally on another package in Suggests

2018-08-10 Thread Zhian Kamvar
Thanks, but my use of print here is really a toy example, not necessarily
the end-goal. This strategy would fail if I were to attempt load a data set
from some_package or use any functions from some_package.

A more specific example of what I'm dealing with is here:
http://www.repidemicsconsortium.org/incidence/reference/get_counts.html#examples.
This is what the user would see if they were to use example(get_counts).

On Fri, Aug 10, 2018 at 12:14 PM Alexandre Courtiol <
alexandre.court...@gmail.com> wrote:

> Perhaps then something like:
> Print <- function(x) if (requireNamespace("some.package", quietly = TRUE))
> print(x)
> Print("Hi")
> Print("Hello")
> Print("Goodbye")
>
>
>
> On Fri, 10 Aug 2018 at 12:33, Zhian Kamvar  wrote:
>
>> Mainly, I would like to see the value printed after the print statement
>> like it would appear in a normal R session:
>>
>> print("Hi")
>> #> [1] "Hi"
>> print("Hello")
>> #> [1] "Hello"
>> print("Goodbye")
>> #> [1] "Goodbye"
>>
>>
>> On Fri, Aug 10, 2018 at 11:28 AM Alexandre Courtiol <
>> alexandre.court...@gmail.com> wrote:
>>
>>> Hi Zhian,
>>> Could you please explain what behaviour you would like to obtain?
>>> I really don't understand what your problem is from your description...
>>> Alex
>>>
>>> On Fri, 10 Aug 2018 at 12:18, Zhian Kamvar  wrote:
>>>
 Hello,

 I know it's good practice to use

 if (require("some_package")) {
   # some code that needs some_package
 }

 In R examples that needs a package listed in Suggests.

 The problem with this approach is that if there are any print statements
 within this structure, then they only get printed after the braces and
 not
 after the lines like so:

 if (TRUE) {
   print("Hi")
   print("Hello")
   print("Goodbye")
 }
 #> [1] "Hi"
 #> [1] "Hello"
 #> [1] "Goodbye"

 The only way I can think of circumventing this is by replacing the if
 statement with a stopifnot statement:

 stopifnot(require("some_package"))
 # some code that needs some_package

 But, I'm not sure if that's okay to do in a function example. Does
 anyone
 have any ideas or suggestions on how to help with this kind of thing?

 Cheers,
 Zhian

 [[alternative HTML version deleted]]

 __
 R-package-devel@r-project.org mailing list
 https://stat.ethz.ch/mailman/listinfo/r-package-devel

>>>
>>>
>>> --
>>> Alexandre Courtiol
>>>
>>> http://sites.google.com/site/alexandrecourtiol/home
>>>
>>> *"Science is the belief in the ignorance of experts"*, R. Feynman
>>>
>>
>
> --
> Alexandre Courtiol
>
> http://sites.google.com/site/alexandrecourtiol/home
>
> *"Science is the belief in the ignorance of experts"*, R. Feynman
>

[[alternative HTML version deleted]]

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] Printing examples conditionally on another package in Suggests

2018-08-10 Thread Alexandre Courtiol
Perhaps then something like:
Print <- function(x) if (requireNamespace("some.package", quietly = TRUE))
print(x)
Print("Hi")
Print("Hello")
Print("Goodbye")



On Fri, 10 Aug 2018 at 12:33, Zhian Kamvar  wrote:

> Mainly, I would like to see the value printed after the print statement
> like it would appear in a normal R session:
>
> print("Hi")
> #> [1] "Hi"
> print("Hello")
> #> [1] "Hello"
> print("Goodbye")
> #> [1] "Goodbye"
>
>
> On Fri, Aug 10, 2018 at 11:28 AM Alexandre Courtiol <
> alexandre.court...@gmail.com> wrote:
>
>> Hi Zhian,
>> Could you please explain what behaviour you would like to obtain?
>> I really don't understand what your problem is from your description...
>> Alex
>>
>> On Fri, 10 Aug 2018 at 12:18, Zhian Kamvar  wrote:
>>
>>> Hello,
>>>
>>> I know it's good practice to use
>>>
>>> if (require("some_package")) {
>>>   # some code that needs some_package
>>> }
>>>
>>> In R examples that needs a package listed in Suggests.
>>>
>>> The problem with this approach is that if there are any print statements
>>> within this structure, then they only get printed after the braces and
>>> not
>>> after the lines like so:
>>>
>>> if (TRUE) {
>>>   print("Hi")
>>>   print("Hello")
>>>   print("Goodbye")
>>> }
>>> #> [1] "Hi"
>>> #> [1] "Hello"
>>> #> [1] "Goodbye"
>>>
>>> The only way I can think of circumventing this is by replacing the if
>>> statement with a stopifnot statement:
>>>
>>> stopifnot(require("some_package"))
>>> # some code that needs some_package
>>>
>>> But, I'm not sure if that's okay to do in a function example. Does anyone
>>> have any ideas or suggestions on how to help with this kind of thing?
>>>
>>> Cheers,
>>> Zhian
>>>
>>> [[alternative HTML version deleted]]
>>>
>>> __
>>> R-package-devel@r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>>>
>>
>>
>> --
>> Alexandre Courtiol
>>
>> http://sites.google.com/site/alexandrecourtiol/home
>>
>> *"Science is the belief in the ignorance of experts"*, R. Feynman
>>
>

-- 
Alexandre Courtiol

http://sites.google.com/site/alexandrecourtiol/home

*"Science is the belief in the ignorance of experts"*, R. Feynman

[[alternative HTML version deleted]]

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] Printing examples conditionally on another package in Suggests

2018-08-10 Thread Alexandre Courtiol
Hi Zhian,
Could you please explain what behaviour you would like to obtain?
I really don't understand what your problem is from your description...
Alex

On Fri, 10 Aug 2018 at 12:18, Zhian Kamvar  wrote:

> Hello,
>
> I know it's good practice to use
>
> if (require("some_package")) {
>   # some code that needs some_package
> }
>
> In R examples that needs a package listed in Suggests.
>
> The problem with this approach is that if there are any print statements
> within this structure, then they only get printed after the braces and not
> after the lines like so:
>
> if (TRUE) {
>   print("Hi")
>   print("Hello")
>   print("Goodbye")
> }
> #> [1] "Hi"
> #> [1] "Hello"
> #> [1] "Goodbye"
>
> The only way I can think of circumventing this is by replacing the if
> statement with a stopifnot statement:
>
> stopifnot(require("some_package"))
> # some code that needs some_package
>
> But, I'm not sure if that's okay to do in a function example. Does anyone
> have any ideas or suggestions on how to help with this kind of thing?
>
> Cheers,
> Zhian
>
> [[alternative HTML version deleted]]
>
> __
> R-package-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>


-- 
Alexandre Courtiol

http://sites.google.com/site/alexandrecourtiol/home

*"Science is the belief in the ignorance of experts"*, R. Feynman

[[alternative HTML version deleted]]

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel