# \dontshow{
if (juliaSetupOk() && Sys.getenv("NOT_CRAN") == "true") {
Pkg <- juliaImport("Pkg")
if (juliaEval('VERSION < v"1.6"')) {
subproject <- "1_0"
} else if (juliaEval('VERSION < v"1.10"')) {
subproject <- "1_6"
} else {
subproject <- "1_10"
}
Pkg$activate(system.file("examples", "IndexedTables-Project", subproject,
package = "JuliaConnectoR"))
Pkg$instantiate()
# ignore warnings on Julia 1.0:
capture.output(juliaImport("IndexedTables"), type = "message")
}
# }
if (juliaSetupOk() && Sys.getenv("NOT_CRAN") == "true") {
# (This example is not run on CRAN as it takes a little too long.)
# Demonstrate the usage with the Julia package "IndexedTables" (v1.0)
# Install the package first if it is not installed:
# juliaEval('import Pkg; Pkg.add("IndexedTables")')
# Import "IndexedTables" package
IndexedTables <- juliaImport("IndexedTables")
mydf <- data.frame(x = c(1, 2, 3),
y = c("a", "b", "c"),
z = c(TRUE, FALSE, NA),
stringsAsFactors = FALSE)
# Create a table in Julia, e. g. via IndexedTables
mytbl <- IndexedTables$table(mydf)
# This table can, e g. be queried and
# the result can be translated to an R data frame.
seltbl <- IndexedTables$select(mytbl, juliaExpr("(:x, :y)"))[1:2]
# Translate selection of Julia table into R data frame
as.data.frame(seltbl)
}
# \dontshow{
if (juliaSetupOk() && Sys.getenv("NOT_CRAN") == "true") {
rm(mytbl, seltbl)
JuliaConnectoR:::stopJulia()
}
# }
Run the code above in your browser using DataLab