将数据导入 R 并跳至关键字
Import data into R and skip till keyword
我有一个气相色谱仪的输出文件,格式为 .txt,header 长度不同。如何在不手动 selecting/deleting header 的情况下将数据读入 R?该文件如下所示。
到目前为止,我尝试了不同的方法(grep 等)来找到文件中“[Chromatogram (Ch1)]”或 "R.Time (min) Intensity" 的位置,然后才从那里开始读入。虽然没有成功。
如果能提供一些有关如何执行此操作以及如何跳过最后两行的建议,我将不胜感激。
此致,
玛德琳
Header
Header
...
(differing in length between files)
...
Header
Header
[Chromatogram (Ch1)]
Interval(msec) 40
of Points 4500
Start Time(min) 0.000
End Time(min) 2.999
R.Time (min) Intensity
0.00000 -320
0.00067 -320
0.00133 -320
0.00200 -320
0.00267 -320
0.00333 -321
0.00400 -321
0.00467 -321
...
2.99800 363
2.99867 362
2.99933 360
[Fraction Collection Report]
# of Fractions 0
一个可能的解决方案是先读入文件,然后使用 grepl
过滤掉 headers。例如:
lines <- readLines(input.txt)
lengthOfHeaders <- max(which(sapply(lines, function(line) grepl("R.Time", line))) - 1)
input <- lines[-(1:lengthOfHeaders)]
我有一个气相色谱仪的输出文件,格式为 .txt,header 长度不同。如何在不手动 selecting/deleting header 的情况下将数据读入 R?该文件如下所示。 到目前为止,我尝试了不同的方法(grep 等)来找到文件中“[Chromatogram (Ch1)]”或 "R.Time (min) Intensity" 的位置,然后才从那里开始读入。虽然没有成功。 如果能提供一些有关如何执行此操作以及如何跳过最后两行的建议,我将不胜感激。
此致, 玛德琳
Header
Header
...
(differing in length between files)
...
Header
Header
[Chromatogram (Ch1)]
Interval(msec) 40
of Points 4500
Start Time(min) 0.000
End Time(min) 2.999
R.Time (min) Intensity
0.00000 -320
0.00067 -320
0.00133 -320
0.00200 -320
0.00267 -320
0.00333 -321
0.00400 -321
0.00467 -321
...
2.99800 363
2.99867 362
2.99933 360
[Fraction Collection Report]
# of Fractions 0
一个可能的解决方案是先读入文件,然后使用 grepl
过滤掉 headers。例如:
lines <- readLines(input.txt)
lengthOfHeaders <- max(which(sapply(lines, function(line) grepl("R.Time", line))) - 1)
input <- lines[-(1:lengthOfHeaders)]