Book Image

Clojure Data Analysis Cookbook - Second Edition

By : Eric Richard Rochester
Book Image

Clojure Data Analysis Cookbook - Second Edition

By: Eric Richard Rochester

Overview of this book

Table of Contents (19 chapters)
Clojure Data Analysis Cookbook Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Evaluating R files from Clojure


We might not always want to feed R code from Clojure directly into R. Many times, we might have files containing R expressions and we would want to evaluate the whole file.

We can do this quite easily too. Let's see how.

Getting ready

We must first complete the recipe, Setting up R to talk to Clojure, and have Rserve running. We must also have the Clojure-specific parts of that recipe done and the connection to Rserve made.

Moreover, we'll need access to the java.io.File class:

(import '[java.io File])

How to do it…

We'll first define a function to make evaluating a file in R easier, and then we'll find a file and execute it:

  1. The function to evaluate a file of R code takes a filename and (optionally) a connection to the R server. It feeds the file to R using R's source function, and it returns whatever R does:

    (defn r-source
      ([filename] (r-source filename *r-cxn*))
      ([filename r-cxn]
       (.eval r-cxn (str "source(\""
                         (.getAbsolutePath (File....