Вы можете использовать lapply
с readEdfHeader
, чтобы получить все заголовки в одной строке кода.
Сначала рабочий пример с наборами данных пакета.
old_dir <- getwd()
libDir <- system.file("extdata", package = 'edfReader')
setwd(libDir)
Получите .edf
имена файлов и прочтите их заголовки.
fls <- list.files(pattern = '\\.edf')
edf_headers <- lapply(fls, readEdfHeader)
Затем извлеките соответствующая информация и rbind
это для создания data.frame.
res <- lapply(edf_headers, function(x){
startTime <- x[['startTime']]
startDate <- substr(x[['recordingId']], 11, 21)
recordDuration <- x[['recordDuration']]
data.frame(startTime, startDate, recordDuration)
})
res <- do.call(rbind, res)
res
# startTime startDate recordDuration
#1 2000-01-01 14:15:16 01-JAN-2000 0.1
#2 2009-12-10 12:44:02 10-DEC-2009 1.0
#3 2009-12-10 12:44:02 10-DEC-2009 1.0
Сброс рабочего каталога.
setwd(old_dir)