Skip to content
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples remove need for calling Revents Nov 21, 2017
src block R ops from threads other then bind thread Jun 27, 2018
.clang-format remove need for calling Revents Nov 21, 2017
.travis.yml update travis and readme Nov 14, 2017
Makefile remove need for calling Revents Nov 21, 2017
rtest.q add example for peach Jun 27, 2018 add win linking files Nov 13, 2017 add win linking files Nov 13, 2017

embedR: Embedding R inside q

See Kx wiki



Download the appropriate release archive from releases page.

Unpack and install content of the archive

environment action
Linux tar xzvf embedr_linux-v*.tar.gz -C $QHOME --strip 1
macOS tar xzvf embedr_osx-v*.tar.gz -C $QHOME --strip 1
Windows Open the archive and copy content of the embedr folder (embedr\*) to %QHOME% or c:\q
Copy R_HOME/x64/.dll or R_HOME/i386/.dll to QHOME/w64 or QHOME/w32 respectively.

Calling R

When calling R, you need to set R_HOME. Required are:

# Linux/macOS
export R_HOME=`R RHOME`
# Windows
for /f "delims=" %a in ('R RHOME') do @set R_HOME=%a

The library has four main methods:

  • Ropen: Initialise embedded R. Optional to call. Allows to set verbose mode as Ropen 1.
  • Rcmd: run an R command, do not return a result
  • Rget: run an R command, return the result to q
  • Rset: set a variable in the R memory space

Interactive plotting

If using interactive plotting with lattice and/or ggplot2 you will need to call print on chart object.


See examples folder.

Note: Examples are kdb+ 3.5 or higher.

Example 1.

e4.q is a simple example of plot 'moving window volatility' of returns. Converted from

Example 2.

pcd.q is based on Corporate credit card transactions 2014-15.

Please download csv file from the link above and place it in the same folder as pcd.q under name pcd2014v1.csv.

Example 3.

Left for the reader :)

You can’t perform that action at this time.