/** * * @param input * inputstring * @return Rdata */ public String eString(final String input) { final String resultOnFailure = ""; try { final Object evaluationResult = this.evalWithR(input); final REXPString stringResult = (REXPString) evaluationResult; return stringResult.toString(); } catch (final InvalidREvaluationResultException exc) { RBridgeControl.LOGGER.error(exc.getMessage(), exc); return resultOnFailure; } }
/** * * @param input * inputstring * @return Rdata */ public double[] eDblArr(final String input) { final double[] resultOnFailure = new double[0]; try { final Object evaluationResult = this.evalWithR(input); final REXPVector vectorResult = (REXPVector) evaluationResult; return vectorResult.asDoubles(); } catch (final REXPMismatchException e) { return resultOnFailure; } catch (final InvalidREvaluationResultException e) { RBridgeControl.LOGGER.error(e.getMessage(), e); return resultOnFailure; } }
/** * * @param input * string * @return {@link Double#NaN} in case of error, else dbvalue */ public double eDbl(final String input) { final double resultOnFailure = Double.NaN; try { final Object evaluationResult = this.evalWithR(input); final REXPDouble doubleResult = (REXPDouble) evaluationResult; return doubleResult.asDouble(); } catch (final REXPMismatchException exc) { RBridgeControl.LOGGER.error("Error casting value from R: {} Cause: {}", input, exc); return resultOnFailure; } catch (final InvalidREvaluationResultException exc) { RBridgeControl.LOGGER.error(exc.getMessage(), exc); return resultOnFailure; } }
/** * * @param input * inputstring * @return Rdata */ public String eString(final String input) { final String resultOnFailure = ""; try { final Object evaluationResult = this.evalWithR(input); final REXPString stringResult = (REXPString) evaluationResult; return stringResult.toString(); } catch (final InvalidREvaluationResultException exc) { RBridgeControl.LOG.error(exc.getMessage(), exc); return resultOnFailure; } }
/** * * @param input * inputstring * @return Rdata */ public double[] eDblArr(final String input) { final double[] resultOnFailure = new double[0]; try { final Object evaluationResult = this.evalWithR(input); final REXPVector vectorResult = (REXPVector) evaluationResult; return vectorResult.asDoubles(); } catch (final REXPMismatchException e) { return resultOnFailure; } catch (final InvalidREvaluationResultException e) { RBridgeControl.LOG.error(e.getMessage(), e); return resultOnFailure; } }
/** * * @param input * string * @return {@link Double#NaN} in case of error, else dbvalue */ public double eDbl(final String input) { final double resultOnFailure = Double.NaN; try { final Object evaluationResult = this.evalWithR(input); final REXPDouble doubleResult = (REXPDouble) evaluationResult; return doubleResult.asDouble(); } catch (final REXPMismatchException exc) { RBridgeControl.LOG.error("Error casting value from R: " + input + " Cause: " + exc); return resultOnFailure; } catch (final InvalidREvaluationResultException exc) { RBridgeControl.LOG.error(exc.getMessage(), exc); return resultOnFailure; } }