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")
"path/to/python.exe") reticulate::use_python(
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")