-
Notifications
You must be signed in to change notification settings - Fork 2k
Description
can't convert iris species column to a character column.
iris[4].isfactor()
True
iris[4].ischaracter()
False
iris[4].isstring()
False
iris[4] = iris[4].ascharacter()
gives:
/99/Rapids, route: /99/Rapids, parms: {ast=(= !pyabae30a9-a72b-4d7c-945b-b11da25302e3 (as.character ([ %iris.hex () #4)))}
onExCompletion for water.fvec.Frame$4@68a1efd6
08-05 11:29:56.774 172.16.2.18:54321 48948 #87911-14 ERRR: java.lang.RuntimeException: water.DException$DistributedException: from /172.16.2.18:54321; by class water.fvec.Frame$4; class java.lang.IllegalArgumentException: Operation not allowed on string vector.java.lang.IllegalArgumentException: Operation not allowed on string vector.
at water.fvec.StrWrappedVec$StrWrappedChunk.atd_impl(StrWrappedVec.java:41)
at water.fvec.Chunk.atd(Chunk.java:252)
at water.fvec.Frame$4.map(Frame.java:1124)
at water.MRTask.compute2(MRTask.java:656)
at water.H2O$H2OCountedCompleter.compute(H2O.java:964)
at jsr166y.CountedCompleter.exec(CountedCompleter.java:429)
at jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:263)
at jsr166y.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:974)
at jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1477)
at jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
java.lang.RuntimeException: water.DException$DistributedException: from /172.16.2.18:54321; by class water.fvec.Frame$4; class java.lang.IllegalArgumentException: Operation not allowed on string vector.
at water.MRTask.getResult(MRTask.java:489)
at water.MRTask.doAll(MRTask.java:386)
at water.MRTask.doAll(MRTask.java:383)
at water.fvec.Frame.deepCopy(Frame.java:1116)
at water.rapids.ASTAssign.exec(AST.java:924)
at water.rapids.AST.treeWalk(AST.java:87)
at water.rapids.Exec.exec(Exec.java:68)
at water.api.RapidsHandler.exec(RapidsHandler.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at water.api.Handler.handle(Handler.java:56)
at water.api.RequestServer.handle(RequestServer.java:658)
at water.api.RequestServer.serve(RequestServer.java:595)
at water.JettyHTTPD$H2oDefaultServlet.doGeneric(JettyHTTPD.java:550)
at water.JettyHTTPD$H2oDefaultServlet.doPost(JettyHTTPD.java:498)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:745)
Caused by: water.DException$DistributedException: from /172.16.2.18:54321; by class water.fvec.Frame$4; class java.lang.IllegalArgumentException: Operation not allowed on string vector.
at water.fvec.StrWrappedVec$StrWrappedChunk.atd_impl(StrWrappedVec.java:41)
at water.fvec.Chunk.atd(Chunk.java:252)
at water.fvec.Frame$4.map(Frame.java:1124)
at water.MRTask.compute2(MRTask.java:656)
at water.H2O$H2OCountedCompleter.compute(H2O.java:964)
at jsr166y.CountedCompleter.exec(CountedCompleter.java:429)
at jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:263)
at jsr166y.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:974)
at jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1477)
at jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
08-05 11:29:56.776 172.16.2.18:54321 48948 #87911-14 WARN: Caught exception: water.DException$DistributedException: from /172.16.2.18:54321; by class water.fvec.Frame$4; class java.lang.IllegalArgumentException: Operation not allowed on string vector.; Stacktrace: [water.MRTask.getResult(MRTask.java:489), water.MRTask.doAll(MRTask.java:386), water.MRTask.doAll(MRTask.java:383), water.fvec.Frame.deepCopy(Frame.java:1116), water.rapids.ASTAssign.exec(AST.java:924), water.rapids.AST.treeWalk(AST.java:87), water.rapids.Exec.exec(Exec.java:68), water.api.RapidsHandler.exec(RapidsHandler.java:37), sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method), sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57), sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.lang.reflect.Method.invoke(Method.java:606), water.api.Handler.handle(Handler.java:56), water.api.RequestServer.handle(RequestServer.java:658), water.api.RequestServer.serve(RequestServer.java:595), water.JettyHTTPD$H2oDefaultServlet.doGeneric(JettyHTTPD.java:550), water.JettyHTTPD$H2oDefaultServlet.doPost(JettyHTTPD.java:498), javax.servlet.http.HttpServlet.service(HttpServlet.java:755), javax.servlet.http.HttpServlet.service(HttpServlet.java:848), org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684), org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503), org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137), org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557), org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231), org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086), org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429), org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193), org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020), org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135), org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154), org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116), org.eclipse.jetty.server.Server.handle(Server.java:370), org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494), org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53), org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982), org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043), org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865), org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240), org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72), org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264), org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608), org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543), java.lang.Thread.run(Thread.java:745)]
same sequence of commands fails in R as well.
iris = h2o.import_frame(h2o.locate("smalldata/iris/iris.csv"))
assert iris[0].isnumeric(), "Expected the first column of iris to be numeric"
assert not iris[0].ischaracter(), "Expected the first column of iris to be numeric"
assert not iris[4].isnumeric(), "Expected the last column of iris to be character"
assert iris[4].isstring(), "Expected the last column of iris to be a string" # This fails, and I couldn't find a dataset where it ever evaluates to True