Support for reading from and writing to pipe separated values (.psv) files as used for the PhysioNet Sepsis Challenge.

write_psv(x, dir, na_rows = NULL)

read_psv(dir, col_spec = NULL, id_var = "stay_id", index_var = NULL)



Object to write to files


Directory to write the (many) files to or read from


If TRUE missing time steps are filled with NaN values, if FALSE, rows where all data columns entries are missing are removed and if NULL, data is written as-is


A column specification as created by readr::cols()


Name of the id column (IDs are generated from file names)


Optional name of index column (will be coerced to difftime)


While write_psv() is called for side effects and returns NULL

invisibly, read_psv() returns an object inheriting from id_tbl.


Data for the PhysioNet Sepsis Challenge is distributed as pipe separated values (.psv) files, split into separate files per patient ID, containing time stamped rows with measured variables as columns. Files are named with patient IDs and do not contain any patient identifiers as data. Functions read_psv() and write_psv() can be used to read from and write to such a data format.


Reyna, M., Josef, C., Jeter, R., Shashikumar, S., Moody, B., Westover, M. B., Sharma, A., Nemati, S., & Clifford, G. (2019). Early Prediction of Sepsis from Clinical Data -- the PhysioNet Computing in Cardiology Challenge 2019 (version 1.0.0). PhysioNet.