37 lines
1.1 KiB
Java
37 lines
1.1 KiB
Java
package com.baeldung.r;
|
|
|
|
import java.io.IOException;
|
|
import java.net.URISyntaxException;
|
|
|
|
import com.github.rcaller.rstuff.RCaller;
|
|
import com.github.rcaller.rstuff.RCallerOptions;
|
|
import com.github.rcaller.rstuff.RCode;
|
|
|
|
/**
|
|
* RCaller showcase.
|
|
*
|
|
* @author Donato Rimenti
|
|
*/
|
|
public class RCallerMean {
|
|
|
|
/**
|
|
* Invokes the customMean R function passing the given values as arguments.
|
|
*
|
|
* @param values the input to the mean script
|
|
* @return the result of the R script
|
|
* @throws IOException if any error occurs
|
|
* @throws URISyntaxException if any error occurs
|
|
*/
|
|
public double mean(int[] values) throws IOException, URISyntaxException {
|
|
String fileContent = RUtils.getMeanScriptContent();
|
|
RCode code = RCode.create();
|
|
code.addRCode(fileContent);
|
|
code.addIntArray("input", values);
|
|
code.addRCode("result <- customMean(input)");
|
|
RCaller caller = RCaller.create(code, RCallerOptions.create());
|
|
caller.runAndReturnResult("result");
|
|
return caller.getParser()
|
|
.getAsDoubleArray("result")[0];
|
|
}
|
|
|
|
} |