【问题标题】:Error in read.table in R [duplicate]R中的read.table错误[重复]
【发布时间】:2014-04-30 04:31:42
【问题描述】:

我有一个只有 59.6KB 的 txt 文件。我写我的脚本就像我做的一千次一样

cancer<-read.table("cancerGenes.txt", row.names=1,header=T)

它给了我错误信息:

Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  : 
  line 1 did not have 28 elements

出了什么问题??!!

【问题讨论】:

  • 您的文件是否有任何不常见的字符编码?我以前在这种情况下遇到过这个错误。
  • 喜欢哪些不常见的角色?如何解决?
  • 也许发布数据集的前 3 行,或者一组相同格式的假数据。
  • 没关系,我转换成csv文件,就可以了!不知道怎么回事,谢谢两位
  • 其实默认分隔符是任意数量的空格,即所谓的“空白”分隔符。 &gt; read.table(text="a b") # V1 V2 1 a b。制表符也被视为空格,除非 sep ='\t'

标签: r


【解决方案1】:

尝试使用 table(count.fields( ... ) 策略:

table(count.fields("yourpath/filename.txt", sep="", stringsAsFactors=FALSE, 
      allowEscapes = TRUE, quote="", comment.char=""))

如果需要,然后将值添加到 'quote' 或 'comment.char'。 'quote' 的默认值是两个字符串 "'\"",您可能想先尝试 quote="\"" 以防止带有单引号的名称(如 "O'Malley")引起问题,并且comment.char 的默认值是 octothorpe,“#”。不匹配的引号在不干净的数据文件中很常见,您可能需要做一些进一步的调查才能打印出元素数量异常的行。

发布指向我们可以检查文件的位置的链接是您的下一步。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 2012-07-21
    • 2020-10-29
    • 2012-10-26
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多