在R中加载包含无用字符的数据帧

时间:2014-06-27 17:35:43

标签: r dataset data-cleansing

我有一个可执行文件,每次都输出一个表 它由R调用。然后我想在R中加载数据帧, 但它包含许多"!",例如:

! A B C
  0 1 2
  3 3 2
  1 1 1
!
  3 4 2
  2 2 3
  5 2 5
!
  3 4 2
  .....

所以我得到:

sim_stat <- read.table("C:/Users/Matteo/Desktop/Forest/Formind/formind-model/result/result.dia")
# Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  : 
#  line 2 did not have 11 elements

我需要或多或少地每秒读取R中的数据,所以有一种快速的方法 删除那些&#34;!&#34; ?我在Windows工作。 谢谢!

2 个答案:

答案 0 :(得分:4)

您可以将!视为评论字符:

read.table(file="...", comment.char="!")

将删除标题,或任何其他具有无关的行!如果你的数据与!一致,你想忽略!但保留其余的,有这个长期的解决方法:

> read.table(text=gsub("!", "", readChar("test.txt", file.info("test.txt")$size)), header=TRUE)
  A B C
1 0 1 2
2 3 3 2
3 1 1 1
4 3 4 2
5 2 2 3
6 5 2 5
7 3 4 2

显然正在替换&#34; test.txt&#34;在两个实例中使用您的文件名,以及&#34;!&#34;任何可被忽略的角色。

答案 1 :(得分:1)

您可以按照this answer中的相同想法,只删除感叹号(或任何其他不需要的字符)而不是逗号。