Preprocesses a wric data file, extracting metadata, creating DataFrames, and optionally saving results.
Source:R/processing.R
preprocess_WRIC_file.RdPreprocesses a wric data file, extracting metadata, creating DataFrames, and optionally saving results.
Usage
preprocess_wric_file(
filepath,
code = "id",
manual = NULL,
save_csv = FALSE,
path_to_save = NULL,
combine = TRUE,
method = "mean",
start = NULL,
end = NULL,
notefilepath = NULL,
keywords_dict = NULL,
entry_exit_dict = NULL
)Arguments
- filepath
Path to the wric .txt file.
- code
Method for generating subject IDs ("id", "id+comment", "study+id" (only for software v2), or "manual").
- manual
Custom codes for subjects in Room 1 and Room 2 if
codeis "manual".- save_csv
Logical, whether to save extracted metadata and data to CSV files.
- path_to_save
Directory path for saving CSV files, NULL uses the current directory.
- combine
Logical, whether to combine S1 and S2 measurements.
- method
Method for combining measurements ("mean", "median", "s1", "s2", "min", "max").
- start
character or POSIXct or NULL, rows before this will be removed, if NULL takes first row e.g "2023-11-13 11:43:00"
- end
character or POSIXct or NULL, rows after this will be removed, if NULL takes last row e.g "2023-11-13 11:43:00"
- notefilepath
String, Directory path of the corresponding note file (.txt)
- keywords_dict
List, A dictionary of keywords used to extract protocol events from a note file. Each entry should be a named list with:
- keywords
A character vector of keywords or phrases to match in the note comment. Matching is case-insensitive.
- value
Numeric protocol value to assign when the keyword is detected.
- type
Optional character, either "instant" or omitted. "instant" events are applied at the specified timestamp and revert to the previous protocol immediately after. Non-instant events set the protocol until another event occurs.
Behavior rules:
- Non-instant events
Set the protocol value from their timestamp until another event overwrites it or until a stop keyword sets it to 0.
- Instant events
Apply only at the timestamp of the note line, then revert to the protocol that was active immediately before.
- Stop keywords
Always set the protocol to 0, regardless of previous state, unless overridden by an instant event.
If
NULL, a default set of keywords is used.- entry_exit_dict
Nested List, used to extract entry/exit times from note file
Value
list A list with the following components:
- version
Character string indicating the detected software version (
"1"for old software,"2"for new software).- metadata
A named list containing extracted metadata. For version 1, this includes
r1andr2. For version 2, this contains a singlemetadataentry.- dfs
A named list containing processed data frames. For version 1:
room1androom2. For version 2:data.
Examples
outdir <- file.path(tempdir(), "wrictools")
dir.create(outdir, showWarnings = FALSE)
data_txt <- system.file("extdata", "data.txt", package = "wrictools")
result <- preprocess_wric_file(data_txt, path_to_save = outdir)
unlink(outdir, recursive = TRUE)