您可以使用lapply
withreadEdfHeader
在一个代码行中获取所有标题。
首先,一个使用包数据集的工作示例。
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)