Skip to contents

daqr provides functions to work with Data AcQuisition (DAQ) files generated by minisim driving simulator. With daqr, you can convert a daq file to hdf5 type, and get useful driving variables directly in R. Behind the scenes, daqr uses undaqTools python package by Roger Lew.

Installation

You can install the development version of daqr from GitHub with:

# install.packages("devtools")
devtools::install_github("durraniu/daqr")

Getting ready to use daqr

You need to have python 2.7 and a few packages installed to use daqr. You can get python and packages in one of the two ways discussed below.

Python already installed

If you already have python 2.7 installed, then make sure that you have the following packages or install them:

  • scipy
  • numpy
  • matplotlib
  • h5py
  • nose
  • sphinx
  • numpydoc
  • undaqTools

Then, in R, you can use reticulate to specify this installation of python to start using daqr:

# install.packages("reticulate")
reticulate::use_python("path/to/python.exe")

Python not installed

To start from scratch, use reticulate package in R to install python, create a virtual environment, and install dependencies :

# install.packages("reticulate")
library(reticulate)

path_to_python <- install_python(version="2.7.18")
virtualenv_create("r-reticulate", python = path_to_python)


py_install(packages = c("scipy", "numpy", "matplotlib", "h5py",
                        "nose", "sphinx", "numpydoc", "undaqTools"),
           python_version = "2.7.18",
           envname = "r-reticulate")

Now you are ready to use daqr.

Using daqr

Converting a daq file to hdf5:

The function read_daq_and_save_to_hdf5 will read the daq file and save it to hdf5 format in the same location using the same file name.

library(daqr)
library(reticulate)

## Specify the environment to use
use_virtualenv("r-reticulate")

read_daq_and_save_to_hdf5("path/to/daq/file.daq")

Getting driver data

You can get several variables from driving data using the function read_driver_data. It takes two arguments for file_name and metric. The file_name parameter can be a daq file or a hdf5 file. The units of variables in the resulting dataframe depends on metric. If TRUE, then the units will be metric, if FALSE, the units will be imperial.

library(daqr)
library(reticulate)

## Specify the environment to use
use_virtualenv("r-reticulate")

# Get driving data from daq file
read_driver_data("path/to/daq/file.daq")

# Get driving data from previously saved hdf5 file
read_driver_data("path/to/hdf5/file.hdf5")