【发布时间】:2018-01-17 20:27:42
【问题描述】:
我有一个包含数万行的文本文件,其间穿插着诸如2010 5 3 0 0 之类的时间戳。它们不一致,但 2 行是一致的。
如何导入 2 列(试用和编号),同时忽略具有这些时间戳的行?
a <- read.table('test.txt')
目前,我收到此错误:
Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, :
line 5 did not have 2 elements
数据
Trial 0.214526266019124
Trial 0.213914388985549
Trial 0.213886659329060
Trial 0.213886587273578
2010 5 3 0 0
Trial 0.213886587273578
Trial 0.213256610071994
Trial 0.213232963405967
Trial 0.213232928149832
2011 2 3 0 0
Trial 0.213886587273578
Trial 0.213256610071994
Trial 0.213232963405967
Trial 0.213232928149832
Trial 0.213886587273578
Trial 0.213256610071994
Trial 0.213232963405967
2011 2 6 0 0
【问题讨论】:
-
我会使用
readLines()读取它,然后使用一些正则表达式命令将它们过滤掉。您可以使用sink()和cat()导出结果字符向量,以将其写回文本文件。更聪明的方法是使用命令行删除文本文件中的某些行。这应该是一个UNIX相关问题,以帮助过滤您的数据。 -
我在想 a) readlines b) 忽略没有
trial的行...不确定它是否会起作用。正在尝试.. -
看这篇文章,这回答了你的问题。 stackoverflow.com/a/25682303/5874001
标签: r