[R] cannot print a list with cat

Richard O'Keefe r@oknz @end|ng |rom gm@||@com
Wed Oct 26 11:14:34 CEST 2022


\n is for TERMINATING lines.  Just like in C, C++, Java,
C#, Python, Ruby, Erlang, pretty much everything that
uses \n in strings at all.

sprintf("gradtol = %e\n", mycontrol$gradtol)
makes sense.

More generally, sprintf() takes as many arguments as
you care to give it, so
cat(sprintf("tol = %e\nreltol = %e\nsteptol = %e\ngradtol = %e\n",
   mycontrol$tol, mycontrol$reltol, mycontrol$steptol,
   mycontrol$gradtol))

R being R, I'd prefer using ?format myself.

On Tue, 25 Oct 2022 at 04:29, Steven T. Yen <styen using ntu.edu.tw> wrote:

> Thanks to everyone. I read ? sprint and the following is best I came up
> with. If there are ways to collapse the lines I'd be glad to know.
> Otherwise, I will live with this. Thanks again.
>
> cat(sprintf("\ntol     = %e",mycontrol$tol),
>      sprintf("\nreltol  = %e",mycontrol$reltol),
>      sprintf("\nsteptol = %e",mycontrol$steptol),
>      sprintf("\ngradtol = %e",mycontrol$gradtol))
>
> tol     = 0.000000e+00
> reltol  = 0.000000e+00
> steptol = 1.000000e-08
> gradtol = 1.000000e-10
>
> On 10/24/2022 10:02 PM, Rui Barradas wrote:
> > Hello,
> >
> > There's also ?message.
> >
> >
> > msg <- sprintf("(tol,reltol,steptol,gradtol): %E %E %E %E",
> >
> > mycontrol$tol,mycontrol$reltol,mycontrol$steptol,mycontrol$gradtol)
> > message(msg)
> >
> >
> > Hope this helps,
> >
> > Rui Barradas
> >
> > Às 14:25 de 24/10/2022, Steven T. Yen escreveu:
> >> Thank, Boris and Ivan.
> >>
> >> The simple command suggested by Ivan ( print(t(mycontrol)) ) worked.
> >> I went along with Boris' suggestion and do/get the following:
> >>
> >> cat(sprintf("(tol,reltol,steptol,gradtol): %E %E %E %E",mycontrol$tol,
> >> mycontrol$reltol,mycontrol$steptol,mycontrol$gradtol))
> >>
> >> (tol,reltol,steptol,gradtol): 0.000000E+00 0.000000E+00 1.000000E-08
> >> 1.000000E-12
> >>
> >> This works great. Thanks.
> >>
> >> Steven
> >>
> >> On 10/24/2022 9:05 PM, Boris Steipe wrote:
> >>
> >>> ???  t() is the transpose function. It just happens to return your
> >>> list unchanged. The return value is then printed to console if it is
> >>> not assigned, or returned invisibly. Transposing your list is
> >>> probably not what you wanted to do.
> >>>
> >>> Returned values do not get printed from within a loop or from a
> >>> source()'d script. That's why it "works" interactively, but not from
> >>> a script file.
> >>>
> >>> If you want to print the contents of your list, just use:
> >>>    print(mycontrol)
> >>>
> >>> Or use some incantation with sprintf() if you want more control
> >>> about the format of what gets printed. Eg:
> >>>
> >>>   cat(sprintf("Tolerance: %f (%f %%)", mycontrol$tol,
> >>> mycontrol$reltol))
> >>>
> >>> etc.
> >>>
> >>>
> >>> B.
> >>>
> >>>
> >>>
> >>>> On 2022-10-24, at 08:47, Ivan Krylov <krylov.r00t using gmail.com> wrote:
> >>>>
> >>>> В Mon, 24 Oct 2022 20:39:33 +0800
> >>>> "Steven T. Yen" <styen using ntu.edu.tw> пишет:
> >>>>
> >>>>> Printing this in a main program causes no problem (as shown above).
> >>>>> But, using the command t(mycontrol) the line gets ignored.
> >>>> t() doesn't print, it returns a value. In R, there's auto-printing in
> >>>> the toplevel context (see ?withAutoprint), but not when you move away
> >>>> from the interactive prompt. I think that it should be possible to use
> >>>> an explicit print(t(mycontrol)) to get the behaviour you desire.
> >>>>
> >>>> --
> >>>> Best regards,
> >>>> Ivan
> >>>>
> >>>> ______________________________________________
> >>>> 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.
> >>
> >> ______________________________________________
> >> 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.
>
> ______________________________________________
> 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