import_actigraph_csv_chunked {MIMSunit} | R Documentation |
Import large raw multi-channel accelerometer data stored in Actigraph raw csv format in chunks
Description
import_actigraph_csv_chunked
imports the raw multi-channel accelerometer data
stored in Actigraph raw csv format. It supports files from the following
devices: GT3X, GT3X+, GT3X+BT, GT9X, and GT9X-IMU.
Usage
import_actigraph_csv_chunked(
filepath,
in_voltage = FALSE,
header = TRUE,
has_ts = TRUE,
chunk_samples = 180000
)
Arguments
filepath |
string. The filepath of the input data.The first column of the input data should always include timestamps. |
in_voltage |
set as TRUE only when the input Actigraph csv file is in analog quantized format and need to be converted into g value |
header |
boolean. If TRUE, the input csv file will have column names in the first row. |
has_ts |
boolean. If TRUE, the input csv file should have a timestamp column at first. |
chunk_samples |
number. The number of samples in each chunk. Default is 180000. |
Details
For old device (GT3X) that stores accelerometer values as digital voltage.
The function will convert the values to unit using the following
equation.
Where is the max voltage corresponding to the max accelerometer value
that can be found in the meta section in the csv file;
is the
resolution level which is the number of bits used to store the voltage
values.
can also be found in the meta section in the csv file.
Value
list. The list contains two items. The first item is a generator
function that each time it is called, it will return a data.frame of the
imported chunk. The second item is a close
function which you can
call at any moment to close the file loading.
How is it used in MIMS-unit algorithm?
This function is a File IO function that is used to import data from Actigraph devices during algorithm validation.
See Also
Other File I/O functions:
export_to_actilife()
,
import_actigraph_count_csv()
,
import_actigraph_csv()
,
import_actigraph_meta()
,
import_activpal3_csv()
,
import_enmo_csv()
,
import_mhealth_csv_chunked()
,
import_mhealth_csv()
Examples
default_ops = options()
options(digits.secs=3)
# Use the actigraph csv file shipped with the package
filepath = system.file('extdata', 'actigraph_timestamped.csv', package='MIMSunit')
# Check original file format
readLines(filepath)[1:15]
# Example 1: Load chunks every 2000 samples
results = import_actigraph_csv_chunked(filepath, chunk_samples=2000)
next_chunk = results[[1]]
close_connection = results[[2]]
# Check data as chunks, you can see chunks are shifted at each iteration.
n = 1
repeat {
df = next_chunk()
if (nrow(df) > 0) {
print(paste('chunk', n))
print(paste("df:", df[1, 1], '-', df[nrow(df),1]))
n = n + 1
}
else {
break
}
}
# Close connection after reading all the data
close_connection()
# Example 2: Close loading early
results = import_actigraph_csv_chunked(filepath, chunk_samples=2000)
next_chunk = results[[1]]
close_connection = results[[2]]
# Check data as chunks, you can see chunk time is shifting forward at each iteration.
n = 1
repeat {
df = next_chunk()
if (nrow(df) > 0) {
print(paste('chunk', n))
print(paste("df:", df[1, 1], '-', df[nrow(df),1]))
n = n + 1
close_connection()
}
else {
break
}
}
# Restore default options
options(default_ops)