• Fun: R on VMS

    From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to All on Mon Sep 2 14:43:56 2024
    $ type demo.r
    x = rnorm(10, mean=0, sd=1)
    print(x)
    mx = mean(x)
    print(mx)
    $ rr demo.r
    [1] 0.07825535565335 0.26473517575753 0.24130353303532 0.93891048091823
    [5] -0.28034267101425 -1.39355828984642 -0.02804756791571 -0.04600998611413
    [9] -1.7059928439304 0.69180273192578
    [1] -0.12389440815307

    $ sh symb rr
    RR == "@RR"
    $ type rr.com
    $ java -cp .:renjin-script-engine-3.5-beta76-jar-with-dependencies.jar
    "RR" 'p1'
    $ exit
    $ type RR.java
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;

    import javax.script.ScriptException;

    import org.renjin.script.RenjinScriptEngine;

    public class RR {
    private static String load(String fnm) throws IOException {
    StringBuilder sb = new StringBuilder();
    BufferedReader br = new BufferedReader(new FileReader(fnm));
    String line;
    while((line = br.readLine()) != null) {
    sb.append(line + "\n");
    }
    br.close();
    return sb.toString();
    }
    public static void main(String[] args) throws IOException,
    ScriptException {
    if(args.length == 1) {
    try {
    String src = load(args[0]);
    RenjinScriptEngine eng = new RenjinScriptEngine();
    eng.eval(src);
    } catch(Exception ex) {
    ex.printStackTrace();
    }
    } else {
    System.out.println("Usage: rr <r-source-file>");
    }
    }
    }

    It would obvious be better if Renjin command line worked, but
    for some reason it does not work on VMS. So I wrote a little
    wrapper reading the file and evaluating using the embedded
    Renjin engine.

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)