Skip to contents

All-in-one function to import multiple workloop .ddf files from a directory, sort them by mtime, analyze them, and store the resulting objects in an ordered list.


read_analyze_wl_dir(file_path, pattern = "*.ddf", sort_by = "mtime", ...)



Directory in which files are located


Regular expression used to specify files of interest. Defaults to all .ddf files within file_path


Metadata by which files should be sorted to be in the correct run order. Defaults to mtime, which is time of last modification of files.


Additional arguments to be passed to read_analyze_wl(), analyze_workloop(), select_cycles(), or read_ddf().


A list containing analyzed_workloop objects, one for each file that is imported and subsequently analyzed. The list is sorted according to the sort_by parameter, which by default uses the time of last modification of each file's contents (mtime).


Work loop data files will be imported and then arranged in the order in which they were run (assuming run order is reflected in mtime). Chiefly used in conjunction with summarize_wl_trials() and time_correct() if time correction is desired.


Most systems we have encountered record Position data in millimeters and Force in millinewtons, and therefore this function assumes data are recorded in those units. Through a series of internal conversions, this function computes velocity in meters/sec, work in Joules, and power in Watts. If your raw data do not originate in millimeters and millinewtons, please transform your data accordingly and ignore what you see in the attribute units.


Josephson RK. 1985. Mechanical Power output from Striated Muscle during Cyclic Contraction. Journal of Experimental Biology 114: 493-512.


Shreeram Senthivasan



# batch read and analyze files included with workloopR
analyzed_wls <- read_analyze_wl_dir(system.file("extdata/wl_duration_trials",
                                                package = 'workloopR'),
                                    phase_from_peak = TRUE,
                                    cycle_def = "p2p", keep_cycles = 2:4)