【问题标题】:Read table with missing values and columns in R读取 R 中缺少值和列的表
【发布时间】:2021-10-21 23:04:06
【问题描述】:

我对 R 很陌生,需要一些帮助来解决阅读 txt 文档的问题。

作为一个例子...我在txt中有以下数据

20150505  8:30:00 ABC 15  550
20150504  4:40:00 ABC 15  500
20150503  2:34:00 .      3494
20140912 19:25:00 DEF 20  200

我需要读取数据并将其分成不同的列,比如 A、B、C、D 和 E。

使用以下代码,我收到第 3 行没有 5 个元素的警告

  data <- read.table("data.txt", sep="", header=FALSE)

另一个选项只创建一列:

 data <- read.table("data.txt", sep="\t", header=FALSE)

在下一个中,我尝试填充第 3 行中的缺失值,但得到了大约 10 列,其中大多数“NA”和应该放在一列中的数据被分开了:

data <- read.table("data.txt", sep ="", fill=TRUE)

是否有另一种可能性来创建 5 个所需的列,而缺失的值只是“NA”? 我使用的真实数据有超过一百万行...

主要问题是,我只是找不到正确读取数据的方法。

感谢任何帮助!谢谢。

【问题讨论】:

  • 谢谢。我尝试将其编辑为上面的文本。
  • sep = "" 表示每个行元素本身就是一列。 sep = "\t" 表示使用了选项卡。 sep = "\t", fill = TRUE 似乎是您正在寻找的最明智的选择。
  • 谢谢!我用fill=TRUE 尝试了这两个选项,它与sep="" 一起工作。 sep="\t" 再次只给了我一个专栏。
  • 如果您已经有了答案,您可以将其添加为下面的答案。它可能会帮助这篇文章的未来访问者。

标签: r dataframe na read.table


【解决方案1】:

它适用于:

data <- read.table("data.txt", sep="", fill = TRUE, header=FALSE)

现在我有 5 列和 4 行。空值用“NA”填充。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 2018-08-25
    • 2016-02-20
    • 2023-03-04
    • 2012-07-16
    • 1970-01-01
    相关资源
    最近更新 更多