【问题标题】:More Columns than Column Names?列多于列名?
【发布时间】:2016-07-11 16:26:23
【问题描述】:

我正在尝试读取具有 24 个列标题但有 14 个附加空值的文件。见链接:https://www.elections.il.gov/ElectionInformation/CandDataFile.aspx?id=51

每当我运行下面的代码时,我都会收到消息

“列多于列名。”

我觉得答案可能很简单。有什么想法吗?

candidates <- read.csv(file = "candidates.txt", sep = ",", 
                        header = TRUE, stringsAsFactors = FALSE)

【问题讨论】:

标签: r


【解决方案1】:

一种解决方法是一个命令只读取表头,一秒读取没有表头的数据,然后删除多余的列并设置名称。

NAMES <- read.table("candidates.txt", nrow = 1, stringsAsFactors = FALSE, sep = ",")
DATA <- read.table("candidates.txt", skip = 1, stringsAsFactors = FALSE, sep = ",")
DATA <- DATA[, 1:24]
names(DATA) <- NAMES 

【讨论】:

    【解决方案2】:

    我在通过 docker 运行时遇到了类似的问题。所以,我必须先下载文件,然后再读取 csv 文件。

    # download data
    download.file("https://www.elections.il.gov/ElectionInformation/CandDataFile.aspx?id=51", dest = "candidates.txt")
    
    # load data
    gm = read.table("candidates.txt", header = T, stringsAsFactors = F, skipNul = F)
    
    

    【讨论】:

      【解决方案3】:

      我遇到了类似的问题,我认为问题出在标题上。因为当我删除标题(文件开头以'#'开头的行)时,不会出现错误。最后,下面链接中的解决方案解决了这个问题。它将参数 'skip' 设置为 1 以跳过文件的第一行(标题)。

      https://community.rstudio.com/t/more-columns-than-column-names-error/43517

      【讨论】:

      • 这不是答案。仅链接的答案和“我遇到了同样的问题”帖子不被视为答案,应该删除。
      猜你喜欢
      • 1970-01-01
      • 2018-08-13
      • 2014-11-04
      • 2016-12-12
      • 1970-01-01
      • 2014-07-24
      • 1970-01-01
      • 1970-01-01
      • 2015-07-13
      相关资源
      最近更新 更多