在R中的这种情况下,如何通过扫描读取大文件(具有行名)?

在R中的这种情况下,如何通过扫描读取大文件(具有行名)?,r,statistics,R,Statistics,我有一个文本文件,它是一个1000行*40001列的表格 文件的第一列是字符串,其他列是一些float数字,例如: A 2 3 4.54 .... 11.23 B 6 6 7 .... 23.45 我想将此文件读入matice,但对于大型文件,read.table似乎不是很有效,因此我认为scan可能是正确的工具 但是,scan默认情况下只能接受数字作为输入。如果我想要非数字作为输入,我需要更改what参数。但由于有40000多个列,我无法为每个输入分配输入类型 有人知道怎么用吗?谢谢

我有一个文本文件,它是一个1000行*40001列的表格

文件的第一列是字符串,其他列是一些
float
数字,例如:

A 2 3 4.54 .... 11.23
B 6 6 7 ....    23.45
我想将此文件读入matice,但对于大型文件,
read.table
似乎不是很有效,因此我认为
scan
可能是正确的工具

但是,
scan
默认情况下只能接受数字作为输入。如果我想要非数字作为输入,我需要更改
what
参数。但由于有40000多个列,我无法为每个输入分配输入类型


有人知道怎么用吗?谢谢

如果使用colClasses参数,read.table函数的效率会大大提高:

inp <- read.table(filnam, colClasses= c(NULL, rep("numeric", 40000) )

inp如果使用colClasses参数,read.table函数的效率会更高:

inp <- read.table(filnam, colClasses= c(NULL, rep("numeric", 40000) )

inp您可以使用
what
参数并指定类型列表(如
colClasses


行您可以使用
what
参数并指定类型列表(如
colClasses


行您可以将行名称放在扫描中的na.strings arg中,然后在后面添加行名称您可以将行名称放在扫描中的na.strings arg中,然后再添加行名称