[R] Outputting variable names and their value bindings

Jeff Newmiller jdnewm|| @end|ng |rom dcn@d@v|@@c@@u@
Sun Jun 24 22:14:07 CEST 2018

Yes and no. R does not have a "Matlab-output-compatibility" mode, but you can write your script to output anything you want it to using the "cat" function with various functions like "sprintf" and "as.character". You may want to write some functions that format some common objects that you typically output. Then just make sure to use those functions instead of the standard "put an object alone on a line" method of printing.

On June 24, 2018 11:00:51 AM PDT, Simon Ellis <sellis using vassar.edu> wrote:
>I'm writing a piece of scripting glue for a colleague who is doing
>computations in several different languages. (It's the most convenient
>right now.) My system calls the relevant program (e.g. Rstudio, MATLAB)
>with a path to a script, captures stdout and parses it for output
>variables, which it stores in its own environment for use later on.
>This is easy with MATLAB, since it writes back the variable name with
>value, e.g.:
>> freq = {somefunction}()
>freq =
>    <value>
>All I have to do is look for lines with '=' on the end, then grab the
>section of non-empty lines as the binding for the variable. Boom.
>With Rscript, if I write something like this:
>Rscript -e "a = (2 + 2)" -e "a"
>it prints
>[1] 4
>Is there any way to get R to print output similarly to MATLAB, in an x
>= y
>I have other solutions in mind, but they're all kludgy and I'd rather
>have to. Please can someone save me from the kludge? :-D
>Thank you,
>~Simon Ellis

Sent from my phone. Please excuse my brevity.

More information about the R-help mailing list