按列解析R数据框,而不是通过sep

问题描述 投票:1回答:1

我有两行元素数据http://www.celestrak.com/NORAD/elements/,我已经制作了单行,产生了1,00s的160个数字和字符的行。与CSV不同,没有分隔符。使用R,如何将数据解析为正确的列宽?以下是数据的示例,以及一些第一列。 1 00011U 59001A 18243.16403752 .00000112 123456789012345678901234567890 ... col#content 1 01-01行号,示例 - 1 2 03-07卫星编号,示例 - 25544 3 08-08分类(U =未分类),示例 - U. 4 10-11 Intl指示符(发布年份的最后两位数字),示例 - 98 5 12-14 Intl指示符(发射编号 - 年),示例 - 067 6 15-17国际指定人(发射的一部分),例子 - A.

非常感谢你

r
1个回答
2
投票

您可以使用read.fwf()解析R中的这些“固定宽度格式”文件。您必须指定每列的宽度,我在将您的示例数据与您提供的列描述匹配时遇到一些麻烦,但这主要有效:

read.fwf(
    textConnection("1 00011U 59001A 18243.16403752 .00000112"), 
    widths = c(2, 5, 2, 2, 3, 4),
    # Just reading everything as a string for the moment
    colClasses = "character"
)

输出:

  V1    V2 V3 V4  V5   V6
1 1  00011 U  59 001 A 18
© www.soinside.com 2019 - 2024. All rights reserved.