Package jdx. R topics documented: January 9, Type Package Title 'Java' Data Exchange for 'R' and 'rjava'

Similar documents
Package ECctmc. May 1, 2018

Package fastdummies. January 8, 2018

Package validara. October 19, 2017

Package canvasxpress

Package semver. January 6, 2017

Package bisect. April 16, 2018

Package rprojroot. January 3, Title Finding Files in Project Subdirectories Version 1.3-2

Package cattonum. R topics documented: May 2, Type Package Version Title Encode Categorical Features

Package geojsonsf. R topics documented: January 11, Type Package Title GeoJSON to Simple Feature Converter Version 1.3.

Package spark. July 21, 2017

Package SEMrushR. November 3, 2018

Package eply. April 6, 2018

Package nmslibr. April 14, 2018

Package rscala. November 25, 2017

Package gggenes. R topics documented: November 7, Title Draw Gene Arrow Maps in 'ggplot2' Version 0.3.2

Package robotstxt. November 12, 2017

Package modules. July 22, 2017

Package ssh. June 4, 2018

Package clipr. June 23, 2018

Package docxtools. July 6, 2018

Package crossrun. October 8, 2018

Package calpassapi. August 25, 2018

Package datasets.load

Package tabulizer. June 7, 2018

Package loggit. April 9, 2018

Package kdtools. April 26, 2018

Package pdfsearch. July 10, 2018

Package crochet. January 8, 2018

Package raker. October 10, 2017

Package WordR. September 7, 2017

Package liftr. R topics documented: May 14, Type Package

Package redux. May 31, 2018

Package snakecase. R topics documented: March 25, Version Date Title Convert Strings into any Case

Package RODBCext. July 31, 2017

Package farver. November 20, 2018

Package filematrix. R topics documented: February 27, Type Package

Package barcoder. October 26, 2018

Package githubinstall

Package rpostgislt. March 2, 2018

Package tibble. August 22, 2017

Package widyr. August 14, 2017

Package balance. October 12, 2018

Package postgistools

Package tiler. June 9, 2018

Package gtrendsr. August 4, 2018

Package lumberjack. R topics documented: July 20, 2018

Package strat. November 23, 2016

Package messaging. May 27, 2018

Package splithalf. March 17, 2018

Package bigreadr. R topics documented: August 13, Version Date Title Read Large Text Files

Package readobj. November 2, 2017

Package ECOSolveR. February 18, 2018

Package gtrendsr. October 19, 2017

Package ggimage. R topics documented: November 1, Title Use Image in 'ggplot2' Version 0.0.7

Package zoomgrid. January 3, 2019

Package modmarg. R topics documented:

Package coga. May 8, 2018

Package fingertipsr. May 25, Type Package Version Title Fingertips Data for Public Health

Package PUlasso. April 7, 2018

Package IATScore. January 10, 2018

Package PCADSC. April 19, 2017

Package opencage. January 16, 2018

Package pwrab. R topics documented: June 6, Type Package Title Power Analysis for AB Testing Version 0.1.0

Package deductive. June 2, 2017

Package UNF. June 13, 2017

Package sigqc. June 13, 2018

Package MonteCarlo. April 23, 2017

Package zeallot. R topics documented: September 28, Type Package

Package samplesizecmh

Package knitrprogressbar

Package ggimage. R topics documented: December 5, Title Use Image in 'ggplot2' Version 0.1.0

Package narray. January 28, 2018

Package phrasemachine

Package patentsview. July 12, 2017

Package spelling. December 18, 2017

Package htmlwidgets. July 10, 2017

Package elmnnrcpp. July 21, 2018

Package pmatch. October 19, 2018

Package editdata. October 7, 2017

Package rzeit2. January 7, 2019

Package shinyfeedback

Package reval. May 26, 2015

Package wrswor. R topics documented: February 2, Type Package

Package utf8. May 24, 2018

Package gridgraphics

Package qualmap. R topics documented: September 12, Type Package

Package slickr. March 6, 2018

Package edfreader. R topics documented: May 21, 2017

Package projector. February 27, 2018

Package sgmcmc. September 26, Type Package

Package Numero. November 24, 2018

Package gifti. February 1, 2018

Package ezknitr. September 16, 2016

Package labelvector. July 28, 2018

Package condusco. November 8, 2017

Package wdman. January 23, 2017

Package rgho. R topics documented: January 18, 2017

Package effectr. January 17, 2018

Package crossword.r. January 19, 2018

Package rwars. January 14, 2017

Transcription:

Type Package Title 'Java' Data Exchange for 'R' and 'rjava' Package jdx January 9, 2018 Description Simplifies and extends data exchange between 'R' and 'Java'. Version 0.1.0 License GPL (>= 2 BSD_3_clause + file LICENSE Encoding UTF-8 Imports rjava (>= 0.9-8, utils (>= 3.3.0 SystemRequirements Java Runtime Environment (>= 1.8 RoxygenNote 6.0.1 Suggests testthat, knitr, rmarkdown, pander VignetteBuilder knitr NeedsCompilation no URL https://github.com/floidgilbert/jdx BugReports https://github.com/floidgilbert/jdx/issues Author Floid R. Gilbert [aut, cre], David B. Dahl [aut] Maintainer Floid R. Gilbert <floid.r.gilbert@gmail.com> Repository CRAN Date/Publication 2018-01-09 10:36:45 UTC R topics documented: jdx-package......................................... 2 converttojava........................................ 3 converttor......................................... 5 converttorlowlevel.................................... 6 getjavaclassname..................................... 8 Index 10 1

2 jdx-package jdx-package Java Data Exchange for R and rjava Description Builds on rjava to simplify and extend data exchange between R and Java. Details The jdx package works in conjunction with rjava to provide a low-level interface for the Java platform. The jdx package was originally developed to provide data exchange functionality for jsr223, the high-level scripting interface for the Java platform. We provide jdx to developers who may want to extend existing rjava solutions. For developers of new applications, we suggest the jsr223 package for rapid application development with a relatively low learning curve. The jdx package converts R data structures to generic Java objects and vice versa. In particular, R vectors, n-dimensional arrays, factors, data frames, tables, environments, and lists are converted to Java objects. Java scalars and n-dimensional arrays are converted to R vectors and n-dimensional arrays. Java maps and collections are converted to R lists, data frames, vectors, or n-dimensional arrays depending on content. Several options are available for data conversion including row-major and column-major ordering for arrays and data frames. For sites that plan on designing and distributing packages that depend on jdx, it may be helpful to know that the jdx package does not use or load rjava s companion package JRI (the Java/R Interface. For best results, please refer to the vignette Introduction to jdx: Java Data Exchange for R and rjava. Author(s Floid R. Gilbert <floid.r.gilbert@gmail.com>, David B. Dahl <dahl@stat.byu.edu> See Also converttojava, converttor, getjavaclassname Examples library("jdx" # Convert matrix using column-major ordering m <- matrix(1:4, 2, 2 o = converttojava(m, array.order = "column-major" getjavaclassname(o identical(m, converttor(o, array.order = "column-major" # Convert 4-dimensional array using row-major ordering dimensions <- c(3, 2, 2, 2 a = array(1:prod(dimensions, dimensions o = converttojava(a, array.order = "row-major"

converttojava 3 getjavaclassname(o identical(a, converttor(o, array.order = "row-major" # Convert data frame identical(iris, converttor(converttojava(iris # Demonstrate exact double precision identical(pi, converttor(converttojava(pi, scalars.as.objects = TRUE converttojava Convert R Objects to Java Objects Description Usage The function converttojava converts R objects to generic Java objects for use with the rjava package. This function simplifies and extends data exchange for rjava. The function converttojava is the inverse of converttor. converttojava( value, length.one.vector.as.array = FALSE, scalars.as.objects = FALSE, array.order = "row-major", data.frame.row.major = TRUE, coerce.factors = TRUE Arguments value An R vector, matrix, n-dimensional array, table, factor, data frame, list, or environment. Nested lists are supported. Supported data types: numeric, integer, character, logical, and raw. length.one.vector.as.array A logical vector of length one. See R Vectors of Length One in the vignette. scalars.as.objects A logical vector of length one. See R Vectors of Length One in the vignette. array.order A character vector of length one specifying the order when copying R n-dimensional arrays to Java. Valid values are "row-major", "column-major", and "column-minor". See R Matrices and N-dimensional Arrays in the vignette. data.frame.row.major A logical vector of length one. When TRUE (the default, a data frame is converted to a list of map objects that represent rows. When FALSE, a data frame is converted to a map of arrays that represent columns. Conversion for columnmajor order is much faster than row-major order. See R Data Frames in the vignette.

4 converttojava coerce.factors A logical vector of length one. When TRUE (the default, an attempt is made to coerce the character values backing factors to integer, numeric, or logical vectors. If coercion fails, the factor is converted to a character vector. When FALSE, the factor is converted to a character vector. This parameter affects standalone factors as well as factors present in data frames and lists. See R Factors in the vignette. Details The converttojava function is used to create objects that can be used as method parameters in the rjava package. R vectors, matrices, n-dimensional arrays, tables, factors, data frames, environments, lists, named lists, and nested lists are supported as well as data types numeric, integer, logical, character and raw. The vignette contains all documentation for converttojava and its inverse function converttor. Note that these functions are not always perfect inverses of each other. See Conversion Issues for more information. Value A Java object reference or an R vector. See the vignette for details. See Also converttor, getjavaclassname Examples library("jdx" # Convert matrix using column-major ordering m <- matrix(1:4, 2, 2 o = converttojava(m, array.order = "column-major" getjavaclassname(o identical(m, converttor(o, array.order = "column-major" # Convert 4-dimensional array using row-major ordering dimensions <- c(3, 2, 2, 2 a = array(1:prod(dimensions, dimensions o = converttojava(a, array.order = "row-major" getjavaclassname(o identical(a, converttor(o, array.order = "row-major" # Convert data frame identical(iris, converttor(converttojava(iris # Demonstrate exact double precision identical(pi, converttor(converttojava(pi, scalars.as.objects = TRUE

converttor 5 converttor Convert Java Objects to R Objects Description The function converttor converts the Java objects referenced by rjava objects to R objects. The function converttor is the inverse of converttojava. Usage converttor( value, strings.as.factors = NULL, array.order = "row-major" Arguments value An rjava object reference. strings.as.factors A logical vector of length one specifying whether string vectors are automatically converted to factors when Java objects are converted to R data frames. This parameter is discussed in the vignette under Java Maps. array.order A character vector of length one specifying the order used to copy Java n- dimensional arrays to R. Valid values are "row-major", "column-major", and "column-minor". See Java One-dimensional Arrays and N-dimensional Rectangular Arrays in the vignette. Details The converttor function is not thread-safe. Do not simultaneously call converttor from different threads in the same process. A thread-safe alternative is presented in the R documentation for converttorlowlevel. The vignette contains all documentation for converttor and its inverse function converttojava. Note that these functions are not always perfect inverses of each other. See Conversion Issues for more information. Value An R object. See the vignette for details. See Also converttojava, getjavaclassname

6 converttorlowlevel Examples library("jdx" # Convert matrix using column-major ordering m <- matrix(1:4, 2, 2 o = converttojava(m, array.order = "column-major" getjavaclassname(o identical(m, converttor(o, array.order = "column-major" # Convert 4-dimensional array using row-major ordering dimensions <- c(3, 2, 2, 2 a = array(1:prod(dimensions, dimensions o = converttojava(a, array.order = "row-major" getjavaclassname(o identical(a, converttor(o, array.order = "row-major" # Convert data frame identical(iris, converttor(converttojava(iris # Demonstrate exact double precision identical(pi, converttor(converttojava(pi, scalars.as.objects = TRUE converttorlowlevel Low-level Interface for jdx Description Usage The functions listed here are the low-level interface for jdx and are primarily used behind the scenes in jsr223, the high-level integration package for Java. However, these functions may also be useful for rjava developers interested in a thread-safe alternative to converttor. See the code examples for a brief outline. If multi-threaded access is not required, please use converttor. arrayordertostring(value converttorlowlevel( j2r, data.code = NULL, strings.as.factors = NULL createjavatorobject( jdxconstants( processcompositedatacode( j2r,

converttorlowlevel 7 Arguments composite.data.code, throw.exceptions = TRUE, warn.missing.logical = TRUE, warn.missing.raw = TRUE value j2r An rjava object reference to a org.fgilbert.jdx.javator$arrayorder enumeration value. An rjava object reference to a org.fgilbert.jdx.javator object. The createjavatorobject function creates an instance. data.code A jdx data code value created with processcompositedatacode. strings.as.factors Same as in converttor. composite.data.code A jdx composite data code returned by the initialize method of org.fgilbert.jdx.javator. throw.exceptions A logical value indicating whether to throw exceptions. warn.missing.logical A logical value indicating whether to raise a specific warning. warn.missing.raw A logical value indicating whether to raise a specific warning. Details See the code examples below for a thread-safe alternative to converttor. The low-level functional interface presented here is awkward, but it was designed to limit type inference and the number of transactions between R and the JVM, ultimately maximizing performance for jsr223. See Also converttojava, converttor, getjavaclassname Examples library("jdx" # Create org.fgilbert.jdx.javator object used to convert # java objects to R objects. Create one of these objects # per thread for thread-safe execution. # # It is also possible to create and use the JavaToR # object in Java and return a reference to R via rjava. j2r <- createjavatorobject( # Pass the Java object to be converted to the initialize # method of the JavaToR object. Note that the Java object # must be cast as java.lang.object. The initialize method

8 getjavaclassname # returns an integer value known as a composite data code # that is used to derive the R structure. composite.data.code <- rjava::.jcall( j2r, "I", "initialize", rjava::.jcast(converttojava(iris # Process the resulting composite data code to get a data # code vector. This step also raises any applicable # errors/warnings. data.code <- processcompositedatacode(j2r, composite.data.code # Pass the JavaToR object and the data code to # converttorlowlevel to get the R object. converttorlowlevel(j2r, data.code, strings.as.factors = FALSE # When converting n-dimensional arrays, pass an array # ordering constant to the initialize method. array.order.constants <- jdxconstants($array_order array <- converttojava(as.matrix(iris[1:4], array.order = "column-major" composite.data.code <- rjava::.jcall( j2r, "I", "initialize", rjava::.jcast(array, array.order.constants[["column-major"]] data.code <- processcompositedatacode(j2r, composite.data.code converttorlowlevel(j2r, data.code getjavaclassname Get a Java Object s Class Name Description Usage The function getjavaclassname returns the class name for the Java object behind an rjava object reference. getjavaclassname(value Arguments value An rjava object reference. Value A character vector of length one containing the class name of the Java object.

getjavaclassname 9 See Also converttojava, converttor Examples library("jdx" getjavaclassname(converttojava(matrix(1:4, 2, 2 getjavaclassname(converttojava(iris

Index Topic interface converttojava, 3 converttor, 5 converttorlowlevel, 6 getjavaclassname, 8 jdx-package, 2 Topic package jdx-package, 2 Topic programming jdx-package, 2 arrayordertostring (converttorlowlevel, 6 converttojava, 2, 3, 3, 4, 5, 7, 9 converttor, 2 5, 5, 6, 7, 9 converttorlowlevel, 5, 6 createjavatorobject (converttorlowlevel, 6 getjavaclassname, 2, 4, 5, 7, 8, 8 jdx (jdx-package, 2 jdx-package, 2 jdxconstants (converttorlowlevel, 6 processcompositedatacode (converttorlowlevel, 6 10