Merge implementation

39 views
Skip to first unread message

slickly

unread,
Jun 2, 2014, 8:40:13 PM6/2/14
to renji...@googlegroups.com
Hi Folks,

Curious if the follow error is actually correct.

WARNING: Failure: org.renjin.eval.EvalException: Sorry! merge not yet implemented!

I see code here:


Thanks!

slickly

unread,
Jun 3, 2014, 11:15:12 AM6/3/14
to renji...@googlegroups.com
More details:

Repo:
"org.renjin"; "renjin-script-engine"; "0.7.0-RC7"

trace:

Jun 03, 2014 10:58:00 AM com.orchard.noteserver.throttle.ThrottledLoop$$anonfun$loop$1 applyOrElse
WARNING: Failure: org.renjin.eval.EvalException: Incorrect number of dimensions. Subscripts: 2, source dimension: 1
org.renjin.primitives.subset.DimensionSelection.<init>(DimensionSelection.java:64)
org.renjin.primitives.subset.SubscriptOperation.setSource(SubscriptOperation.java:90)
org.renjin.primitives.subset.SubscriptOperation.setSource(SubscriptOperation.java:98)
org.renjin.primitives.subset.Subsetting.getSubset(Subsetting.java:219)
org.renjin.primitives.subset.Subsetting.getSubset(Subsetting.java:200)
org.renjin.primitives.R$primitive$$bracket.apply(R$primitive$$bracket.java from WrapperSource:63)
org.renjin.eval.Context.evaluateCall(Context.java:261)
org.renjin.eval.Context.evaluate(Context.java:193)
org.renjin.sexp.Promise.doEval(Promise.java:90)
org.renjin.sexp.Promise.force(Promise.java:83)
org.renjin.eval.Context.evaluate(Context.java:195)
org.renjin.eval.Context.evaluateSymbol(Context.java:239)
org.renjin.eval.Context.evaluate(Context.java:189)
org.renjin.invoke.codegen.ArgumentIterator.evalNext(ArgumentIterator.java:61)
org.renjin.primitives.R$primitive$$bracket.apply(R$primitive$$bracket.java from WrapperSource:35)
org.renjin.eval.Context.evaluateCall(Context.java:261)
org.renjin.eval.Context.evaluate(Context.java:193)
org.renjin.primitives.special.AssignLeftFunction.assignLeft(AssignLeftFunction.java:60)
org.renjin.primitives.special.AssignLeftFunction.apply(AssignLeftFunction.java:44)
org.renjin.eval.Context.evaluateCall(Context.java:261)
org.renjin.eval.Context.evaluate(Context.java:193)
org.renjin.primitives.special.BeginFunction.apply(BeginFunction.java:46)
org.renjin.eval.Context.evaluateCall(Context.java:261)
org.renjin.eval.Context.evaluate(Context.java:193)
org.renjin.eval.Context.evaluate(Context.java:161)
org.renjin.sexp.Closure.doApply(Closure.java:108)
org.renjin.eval.ClosureDispatcher.apply(ClosureDispatcher.java:80)
org.renjin.eval.ClosureDispatcher.applyClosure(ClosureDispatcher.java:65)
org.renjin.sexp.Closure.apply(Closure.java:82)
org.renjin.eval.Context.evaluateCall(Context.java:261)
org.renjin.eval.Context.evaluate(Context.java:193)
org.renjin.primitives.special.AssignLeftFunction.assignLeft(AssignLeftFunction.java:60)
org.renjin.primitives.special.AssignLeftFunction.apply(AssignLeftFunction.java:44)
org.renjin.eval.Context.evaluateCall(Context.java:261)
org.renjin.eval.Context.evaluate(Context.java:193)
org.renjin.primitives.special.BeginFunction.apply(BeginFunction.java:46)
org.renjin.eval.Context.evaluateCall(Context.java:261)
org.renjin.eval.Context.evaluate(Context.java:193)
org.renjin.eval.Context.evaluate(Context.java:161)
org.renjin.sexp.Closure.doApply(Closure.java:108)
org.renjin.eval.ClosureDispatcher.apply(ClosureDispatcher.java:80)
org.renjin.eval.ClosureDispatcher.applyClosure(ClosureDispatcher.java:65)
org.renjin.sexp.Closure.apply(Closure.java:82)
org.renjin.eval.Context.evaluateCall(Context.java:261)
org.renjin.eval.Context.evaluate(Context.java:193)
org.renjin.eval.Context.evaluate(Context.java:161)
org.renjin.script.RenjinScriptEngine.invoke(RenjinScriptEngine.java:232)
org.renjin.script.RenjinScriptEngine.invokeFunction(RenjinScriptEngine.java:201)
org.renjin.script.RenjinScriptEngine.invokeFunction(RenjinScriptEngine.java:19)
...

slickly

unread,
Jun 3, 2014, 11:16:46 AM6/3/14
to renji...@googlegroups.com
Wrong stack:

Jun 03, 2014 11:16:04 AM com.orchard.noteserver.throttle.ThrottledLoop$$anonfun$loop$1 applyOrElse
WARNING: Failure: org.renjin.eval.EvalException: Sorry! merge not yet implemented!
org.renjin.primitives.Primitives$1.apply(Primitives.java:115)
org.renjin.primitives.special.InternalFunction.apply(InternalFunction.java:55)
org.renjin.eval.Context.evaluateCall(Context.java:261)
org.renjin.eval.Context.evaluate(Context.java:193)
org.renjin.primitives.special.AssignLeftFunction.assignLeft(AssignLeftFunction.java:60)
org.renjin.primitives.special.AssignLeftFunction.apply(AssignLeftFunction.java:44)
org.renjin.eval.Context.evaluateCall(Context.java:261)
org.renjin.eval.Context.evaluate(Context.java:193)
org.renjin.primitives.special.IfFunction.apply(IfFunction.java:46)
org.renjin.eval.Context.evaluateCall(Context.java:261)
org.renjin.eval.Context.evaluate(Context.java:193)
org.renjin.primitives.special.BeginFunction.apply(BeginFunction.java:46)
org.renjin.eval.Context.evaluateCall(Context.java:261)
org.renjin.eval.Context.evaluate(Context.java:193)
org.renjin.primitives.special.IfFunction.apply(IfFunction.java:50)
org.renjin.eval.Context.evaluateCall(Context.java:261)
org.renjin.eval.Context.evaluate(Context.java:193)
org.renjin.primitives.special.BeginFunction.apply(BeginFunction.java:46)
org.renjin.eval.Context.evaluateCall(Context.java:261)
org.renjin.eval.Context.evaluate(Context.java:193)
org.renjin.eval.Calls.applyClosure(Calls.java:71)
org.renjin.primitives.S3$GenericMethod.doApply(S3.java:585)
org.renjin.primitives.S3$GenericMethod.apply(S3.java:572)
org.renjin.primitives.S3.UseMethod(S3.java:43)
org.renjin.primitives.S3.UseMethod(S3.java:35)
org.renjin.primitives.R$primitive$UseMethod.doApply(R$primitive$UseMethod.java from WrapperSource:77)
org.renjin.primitives.R$primitive$UseMethod.apply(R$primitive$UseMethod.java from WrapperSource:31)

Bertram, Alexander

unread,
Jun 3, 2014, 11:17:21 AM6/3/14
to renji...@googlegroups.com
Hi there,
It looks like the R-language merge function calls what was in GNU R an "internal" function written in C. 

This internal function needs to be ported to Java or to R, can you file an issue report on github so we have it on the list?



--
You received this message because you are subscribed to the Google Groups "Renjin Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email to renjin-dev+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

slickly

unread,
Jun 3, 2014, 11:29:44 AM6/3/14
to renji...@googlegroups.com
Done. I'll keep an eye on the ticket.


Thanks!

Maarten-Jan Kallen

unread,
Oct 11, 2014, 5:31:10 AM10/11/14
to renji...@googlegroups.com
Hi all,

the C code in GNU R actually only performs a very small part of what the the merge.data.frame() function does so we have replaced this C code with a few lines of R code. This means that the merge function is now available in the latest builds. If you're using Maven, just make sure you have Renjin 0.7.0-RC8-SNAPSHOT as a dependency. For other modules, like the Debian package (renjin-debian-package), the simple GUI (renjin-studio), or the script engine (renjin-script-engine) you can find the jars at http://nexus.bedatadriven.com/content/repositories/renjin-latest/org/renjin/. Make sure you get the ones with the most recent date!

To make it easier to refer to one of our official builds, the latest one (build 26) now ensures that the version and build number of Renjin are included in the welcome message when you start Renjin from the command line or via the GUI. The following example shows build number 26 of Renjin version 0.7.0-RC8-SNAPSHOT:

Renjin 0.7.0-RC8-SNAPSHOT-b26
Copyright (C) 2013 The R Foundation for Statistical Computing
Copyright (C) 2014 BeDataDriven
>

Let us know if you experience any issues with the merge function!

Regards,

Maarten-Jan
Reply all
Reply to author
Forward
0 new messages