从"中提取数据。 DAT"归档并形成9x4矩阵

时间:2016-04-28 14:15:54

标签: r

我想从THREE" .dat"中提取矩阵数据。文件名为x1,x2和x3的文件,并将它们组合在一个矩阵中。 (为方便起见,我在这里合并了它们,但应该从三个文件中假设)。每个文件都有3x3矩阵数据。我想在一个列上使用相应的DATE提取每个文件中的数据。因此结果将有4列和9行。日期应写在每个矩阵的第一行,其余的空格可以用NA填充或留下。这是文件:enter image description here

1 个答案:

答案 0 :(得分:1)

假设文件在数据开头之前有3个标题行,并且所有文件都在工作目录中。使用list.files()从工作目录中获取所有文件。循环遍历'文件',使用read.csvskip前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))