如何在fread()中使用skip参数读取特定字符串之前的行?

a64a0gku  于 2023-02-06  发布在  其他
关注(0)|答案(1)|浏览(114)

我在 *. txt文件中有以下数据示例:

structure(c("class1", "class2", NA, "tot", NA, "x", "y", NA, 
"z", "5", "10", NA, "15", NA, "2", "7", NA, "4"), dim = c(9L, 
2L), dimnames = list(NULL, c("col1", "col2")))

如何使用skip或其他参数读取fread()中特定字符串之前的行来读取这个 *. txt文件?
预期输出:

col1     col2
 [1,] "class1" "5" 
 [2,] "class2" "10"
 [3,] NA       NA  
 [4,] "tot"    "15"

在上面的代码中,我希望读取变量class1中字符串tot上方的行。
谢谢

13z8s7eq

13z8s7eq1#

raw <- readLines("test.txt")
fread(text = raw, nrows = grep("tot", raw) - 1, header = T)

输出

col1 col2
1: class1    5
2: class2   10
3:   <NA>   NA
4:    tot   15

测试文本

col1 col2
class1 5
class2 10
NA NA  
tot 15
NA NA  
x 2
y 7
NA NA  
z 4

相关问题