我想从THREE" .dat"中提取矩阵数据。文件名为x1,x2和x3的文件,并将它们组合在一个矩阵中。 (为方便起见,我在这里合并了它们,但应该从三个文件中假设)。每个文件都有3x3矩阵数据。我想在一个列上使用相应的DATE提取每个文件中的数据。因此结果将有4列和9行。日期应写在每个矩阵的第一行,其余的空格可以用NA填充或留下。这是文件:enter image description here
答案 0 :(得分:1)
假设文件在数据开头之前有3个标题行,并且所有文件都在工作目录中。使用list.files()
从工作目录中获取所有文件。循环遍历'文件',使用read.csv
,skip
前3行读取数据集,将header
指定为FALSE。然后,我们使用scan
的每个文件的第三行,删除子字符串,直到sub
的日期部分,使用list
在每个Map
元素中创建一个列,并rbind
输出有一个data.frame。
files <- list.files()
lst <- lapply(files, read.csv, skip=3, header=FALSE)
lst2 <- lapply(files, scan, skip=2, nlines=1, what = "")
Datetime <- sub(".*:\\s+", "", unlist(lst2))
do.call(rbind, Map(cbind, lst, Datetime=Datetime))