scalaAvailable <- FALSE # ! isTRUE(tryCatch({rscala::scalaConfig(reconfig="offline")}, error=function(e) TRUE)) knitr::opts_chunk$set(echo = TRUE, eval=scalaAvailable)
The commonsMath package provides access to the Apache Commons Mathematics Library. It can can accessed via the:
We demonstrate below how to use it in:
library("rscala") s <- scala("commonsMath") rng1 <- s$.new_org.apache.commons.math3.random.RandomDataGenerator() rng1$reSeed(7342L) rng1$nextGaussian(0,1)
library("rJava") .jinit(Sys.glob(file.path(system.file(package="commonsMath"), "java", "*.jar"))) rng2 <- .jnew("org.apache.commons.math3.random.RandomDataGenerator") rng2$reSeed(.jlong(7342L)) rng2$nextGaussian(0,1)
The DESCRIPTION
should have Imports: rscala, commonsMath
.
The NAMESPACE
should have import(rscala)
.
Define an .onLoad
function like the following:
.onLoad <- function(libname, pkgname) { s <- scala("commonsMath") assign("s", s, envir = parent.env(environment())) }
Package functions can then assess classes and methods from the commonsMath package, e.g.:
rstdnorm <- function() { rng1 <- s$.new_org.apache.commons.math3.random.RandomDataGenerator() rng1$nextGaussian(0.0,1.0) }
The DESCRIPTION
should have Imports: rJava, commonsMath
.
The NAMESPACE
should first have import(rscala)
and then have import(commonsMath)
.
Define an .onLoad
function like the following:
.onLoad <- function(libname, pkgname) { .jpackage(pkgname, lib.loc=libname) }
Package functions can then assess classes and methods from the commonsMath package, e.g.:
rstdnorm <- function() { rng2 <- .jnew("org.apache.commons.math3.random.RandomDataGenerator") rng2$nextGaussian(0,1) }
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.