Я читаю в файле CSV в R, который содержит несколько разделов, разделы содержат разные заголовки, количество строк и столбцов. Пример таблицы ниже, мне нужно разделить их на разные фреймы данных, чтобы я мог обрабатывать их в зависимости от типа раздела.
![enter image description here](https://i.stack.imgur.com/IrQ4M.png)
Количество разделов может измениться, и пока я только выяснил, как жестко их кодировать и использовать grep для разделения различных разделов на разные. фреймы данных.
Все секции имеют одинаковый формат == XY == , где X - это буква, а Y - это число.
Есть ли лучший способ разделения данных? кадр в другой кадр данных для каждого раздела, независимо от того, сколько разделов есть?
z1 <- structure(list(V1 = c("==C5===", "H1", "1", "3", "8", "==E5===",
"H1", "10", "2", "==G6===", "H1", "5", "==H4===", "H1", "1",
"==H6===", "H1", "10"), V2 = c("", "H2", "9", "8", "1", "", "H2",
"4", "2", "", "", "", "", "H2", "8", "", "", ""), V3 = c("",
"H3", "2", "5", "6", "", "", "", "", "", "", "", "", "", "",
"", "", "")), class = "data.frame", row.names = c(NA, -18L))
DF1 <- z1[grep("==C5", z1$V1):grep("==E5", z1$V1),]
DF2 <- z1[grep("==E5", z1$V1):grep("==G6", z1$V1),]
DF3 <- z1[grep("==G6", z1$V1):grep("==H4", z1$V1),]
DF4 <- z1[grep("==H4", z1$V1):grep("==H6", z1$V1),]
DF5 <- z1[grep("==H6", z1$V1):nrow(z1),]