【发布时间】:2017-01-07 15:11:00
【问题描述】:
我正在尝试从 R 中的单个文件中提取多个表。我的文件包含具有相同数量的变量但具有可变数量的记录的表。我想只提取表格(数字)并将它们传输到单独的文件中。表格之间有 4 行(空白行、运行:nr、变量名、单位)我想去掉。在每个空白行中断的替代方法对我来说也是一个很好的解决方案,但我也没有设法做到这一点。下面我提供文件示例 - 我的真实文件包含多个运行(表),每个运行超过 30 个变量和 150-300 条记录。 非常感谢您的帮助!
例子:
> data <- readLines(textConnection("
+ MODEL OUTPUT
+
+ Run: 1
+ V1 V2 V3
+ mm
+ 20 2 2.0
+ 21 2 1.5
+ 22 2 3.5
+
+ Run: 2
+ V1 V2 V3
+ mm
+ 1 1 1.5
+ 2 1 2.5
+
+ Run: 3
+ V1 V2 V3
+ mm
+ 11 5 1.5
+ 12 5 2.5
+ 13 5 1.0
+ 14 5 4.5"))
【问题讨论】:
-
readLines-cumsum-splittheme 上有几个。选择你的骗子;)祝你好运! -
L <- lapply(split(data, cumsum(data == ""))[-1], function(x) read.table(text = x[-c(1, 2, 4)], header = TRUE)); names(L) <- grep("Run", data, value = TRUE) -
您是否可以控制此输出的创建方式?
标签: r