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

Zhian Kamvar zk@mv@r @ending from gm@il@com
Fri Aug 10 14:21:15 CEST 2018


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.boshnakov using 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-bounces using 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.courtiol using 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 <zkamvar using gmail.com> 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.courtiol using 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 <zkamvar using gmail.com> 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 using 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 using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>

	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list