R:将空行文件读入不同的data.frames
我得到了一个以空行作为分隔符的表 像这样的R:将空行文件读入不同的data.frames,r,R,我得到了一个以空行作为分隔符的表 像这样的 A 45 B 54 C 5 D 4 E 96 F 0 G 12 H 154 I 3 是否有方法将此文件读入单独的data.frames(第一列中有A1、A2、A3;第一列中有B1、B2、B3、B4;第一列中有C1、C2)中 编辑:我无法通过第1列或第2列判断条目所属的位置。因此,我无法读取整个文件并在以后拆分它。读取整个文件。 然后用grepl过滤第一列。这将根据第一列中的字符为您提供单独的文
A 45
B 54
C 5
D 4
E 96
F 0
G 12
H 154
I 3
是否有方法将此文件读入单独的data.frames(第一列中有A1、A2、A3;第一列中有B1、B2、B3、B4;第一列中有C1、C2)中
编辑:我无法通过第1列或第2列判断条目所属的位置。因此,我无法读取整个文件并在以后拆分它。读取整个文件。
然后用grepl
过滤第一列。这将根据第一列中的字符为您提供单独的文件。在这里关于堆栈溢出的帮助下,我制作了这个。在本例中,每个“表”可以有不同数量的列,如我的示例中的第三个表所示
我觉得这样会更有效率,所以欢迎提出建议
tab <- textConnection("A 45
B 54
C 5
D 4
E 96
F 0
G 12
H 154 354
I 3 489
")
tablines <- trimws(readLines(tab))
split.vec <- function(vec, sep = 0) {
is.sep <- vec == sep
split(vec[!is.sep], cumsum(is.sep)[!is.sep])
}
splittablines <- split.vec(tablines, sep = "")
lapply(splittablines, function(x) read.table(textConnection(paste(x, collapse = "\n"))))
您是否有任何标识符可用于跟踪每行所属的块?如果是这样,那么我可能会尝试删除空行,然后将整个内容作为单个数据帧读入,然后在R中拆分。我编辑了这个问题,因为我无法根据第一列或第二列判断条目属于哪个表。
$`0`
V1 V2
1 A 45
2 B 54
3 C 5
$`1`
V1 V2
1 D 4
2 E 96
3 F 0
4 G 12
$`2`
V1 V2 V3
1 H 154 354
2 I 3 489