R:如何读取固定宽度的数据文件,其中数据连接成两组,堆叠在一个文件的顶部

Posted

技术标签:

【中文标题】R:如何读取固定宽度的数据文件,其中数据连接成两组,堆叠在一个文件的顶部【英文标题】:R: How to read fixed width datafile where the data is concatenated into two sets, stacked on top in one file 【发布时间】:2018-02-25 17:07:13 【问题描述】:

希望标题有意义。

本质上,一个文件中有两个数据集。

第 1 行包含数据集 1 的标题,按 loc 排列。然后第 2-1500 行是这些位置的条目。

第 1501 行是数据集 2 的标题,按 loc 排列。然后第 1502-3001 行是这些位置的条目。

如何读取具有这些属性的固定文件,为每个数据集提供标题间距(以及 dataset2 开始的点)。

【问题讨论】:

为什么不手动删除第 1501 行的标题? 【参考方案1】:

这里有两种方法:

使用skipnrows 参数:

first <- read.table("file", header = T, nrows = 1500)
second <- read.table("file", header = T, skip=1501, nrows = 1500)

读取整个文件然后将其拆分:

allLines <- read.table("file", header = T)
first <- allLines[1:1500, ]
second <- allLines[1502:3002, ]
names(second) <- allLines[1501, ] ## or colnames if working with a matrix

【讨论】:

以上是关于R:如何读取固定宽度的数据文件,其中数据连接成两组,堆叠在一个文件的顶部的主要内容,如果未能解决你的问题,请参考以下文章

如何在 R 中使用 laf_open_fwf 读取固定宽度文件时管理恶意数据行

在 R 中跨多行的固定宽度文件中读取观察结果

读取固定宽度文件的更快方法

在 spark java 中读取具有固定宽度和分隔符的文本文件

读取固定宽度格式,其中宽度是从列标题中推断出来的

将两组十列重新排列成两列[关闭]