[R] cannot print a list with cat

Bert Gunter bgunter@4567 @end|ng |rom gm@||@com
Mon Oct 24 17:48:44 CEST 2022


"collapse the lines" means ??

If you mean that you want to control the precision (# of decimals
places to show) then that is exactly what sprintf does. ?sprintf tells
you how. If you mean something else, please specify more clearly -- or
await a reply from someone with greater insight than I.

-- Bert

On Mon, Oct 24, 2022 at 8:28 AM 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.



More information about the R-help mailing list