更新(2016年6月)
col.names已添加到data.table 1.9.6上,因此问题已结束,每个人都超级高兴:)我想我现在可以将所有read.csv调用转换为fread调用,而无需担心破坏
原始问题
使用data.table 1.9.4
由于我们注意到巨大的性能改进,因此我将read.csv调用导入到fread中。我可以处理的大多数问题,但是我已经一无所知,想知道是否有人有一个明智的解决方案。
我的问题是我已经命名为colClasses,但是输入没有标题(这是grep函数),这是一个很愚蠢的例子:
males.students <- read.csv(pipe("grep Male students.csv"),
col.names=c("id", "name", "gender"),
colClasses=(id="numeric"))
现在,我仍然想要命名的colClasses,但是我没有col名称,所以只使用
males.students <- fread("grep Male students.csv"),
colClasses=(id="numeric"))
失败于
找不到colClasses [[1]]中的列名“ id”
我该如何解决?有计划添加col.names吗?
最佳答案
在命令行中添加名称:
fread('echo "id,name,gender"; grep Male students.csv', colClasses = c(id='numeric'))