初步信息 操作系统:Windows XP Professional版本2002 Service Pack 3; R版本:R 2.12.2(2011-02-25)
我试图使用该read.delim()函数读取一个30,000行80列,制表符分隔的文本文件到R中.此文件的列标题具有以下命名约定:"_".我用来尝试读取数据的代码是:
cc <- c("integer", "character", "integer", rep("character", 3),
rep("integer", 73))
example_data <- read.delim(file = 'C:/example.txt', row.names = FALSE,
col.names = TRUE, as.is = TRUE, colClasses = cc)
Run Code Online (Sandbox Code Playgroud)
提交此命令后,我收到以下错误消息:
Error in read.table(file = file, header = header, sep = sep, quote = quote, :
more columns than column names
In addition: Warning message:
In read.table(file = file, header = header, sep = sep, quote = quote, :
header and 'col.names' are of different lengths
Run Code Online (Sandbox Code Playgroud)
可能很重要的信息 - 从第8列到第80列,每列中的零计数如下:
column 08: 29,000 zeros
column 13: 15,000 zeros
column 19: 500 zeros
column 43: 15,000 zeros
columns 65-80: 29,000 zeros for each column
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助确定我收到上述错误消息的原因吗?任何帮助将不胜感激.
问题的原因是你使用了这个col.names=TRUE论点.这应该手动用于指定结果数据框的列名,因此必须是一个与输入中的列长度相同的向量,每列一个名称.
如果您想read.delim从文件中获取列名,请考虑使用header=TRUE; 您可能还希望重新考虑row.names=TRUE,这是作为行名称的规范而不是从文件中读取它们的指令.
有关详细信息,请参阅帮助页面read.delim.
| 归档时间: |
|
| 查看次数: |
16895 次 |
| 最近记录: |