【问题标题】:Read in data from .txt file (no header, no separator)从 .txt 文件中读取数据(无标题,无分隔符)
【发布时间】:2016-03-05 11:42:38
【问题描述】:

我有一个存储在 .txt 文件中的大型数据集(约 200MB),我需要将其读入 R。不幸的是,没有分隔符(如“”或“,”)变量的值,并且没有头文件

但是有一个码本,它给出了变量名称,还指定了哪一列属于哪个变量。有些变量占用一列空间,有些则占用更多空间(所以read.fwf 不起作用);但它们的宽度在所有情况下都是相同的。

我可能只需要读入其中的几个变量,所以我希望我只需要选择必要的列并命名变量。什么是一个优雅的解决方案(甚至可能预先选择有意义的变量类型)?

【问题讨论】:

  • 您能提供一个将读取的数据类型的示例吗?
  • 如果我理解正确,那么read.fwf 应该适合你。固定宽度格式意味着在文件中为每个变量分配固定数量的列。所以只要Var1 中的每个值都需要` 列,Var2 中的每个值都需要3 列,那么read.fwf 将能够正确解析它。
  • 添加到@Benjamin 的评论:见?read.fwf。您可以指定宽度,例如如下read.fwf("file.txt", widths = c(2,4,7,2,6), header=FALSE)

标签: r preprocessor


【解决方案1】:

您可以考虑按原样加载数据,然后使用“strsplit”和适当的正则表达式解析每一行。

con <- file("yourfile.txt", open = "r")
lines <- readLines(con)

对其进行迭代,将strsplit 应用于每一行,然后使用rbind 将其添加到您的数据表中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 2020-10-13
    • 1970-01-01
    • 2013-09-26
    相关资源
    最近更新 更多