A bridge library enabling Clojure to call R functions and use R objects for statistical computing and data science.
ClojisR is a bridge library that enables Clojure to interoperate with R, allowing Clojure developers to call R functions, manipulate R objects, and use R's statistical and data science libraries directly from Clojure code. It solves the problem of integrating R's powerful analytical capabilities into the Clojure ecosystem, making advanced statistical computing accessible within a functional programming environment.
Clojure developers and data scientists who need to leverage R's statistical libraries, visualization tools, or specialized packages within their Clojure-based data science workflows.
Developers choose ClojisR because it provides a function-centric, idiomatic Clojure API for R interop with minimal data copying, supports multiple R runtimes, and integrates with Clojure data abstractions, offering a seamless bridge between two powerful ecosystems.
Clojure speaks statistics - a bridge between Clojure to R
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables direct calling of R functions from Clojure as the default mode, making it intuitive for developers to leverage R's statistical libraries without complex wrappers.
Uses EDN-based syntax to represent R code as Clojure data, inspired by libraries like gg4clj, providing a more natural experience for Clojure programmers.
Designed to interoperate with R while minimizing data copying between environments, which can improve performance for data-intensive tasks.
Aims to abstract over different R runtimes like GNU R (via Rserve), Renjin, and FastR, offering flexibility in backend choice, though support varies.
Requires installing R and Rserve with platform-specific issues, such as MacOS openssl problems needing manual linking, making initial configuration cumbersome and error-prone.
The library is 'still evolving' with acknowledged problems, like abandoned R processes causing strange behavior and logging issues in environments like Nextjournal, reducing reliability.
Key features like compatibility with data abstractions (e.g., tech.ml.dataset) and multi-session management are only partially or basically supported, limiting advanced use cases and integration depth.