【发布时间】:2014-01-03 17:00:23
【问题描述】:
为了节省空间,我从 CSV 文件中省略了零作为一种稀疏表示(所有数据都是数字):
table = read.csv(text = "
V1,V2,V3
0.3,1.2,1.5
0.5,,2.1
,.1,")
这是我得到的:
> table
V1 V2 V3
1 0.3 1.2 1.5
2 0.5 NA 2.1
3 NA 0.1 NA
我可以继续将 NA 更改为 0:
table[is.na(table)] = 0
V1 V2 V3
1: 0.3 1.2 1.5
2: 0.5 0.0 2.1
3: 0.0 0.1 0.0
只是想知道在读入时是否有一个单行来执行此操作,最好使用 data.table 的 fread?:
table = fread("
V1,V2,V3
0.3,1.2,1.5
0.5,,2.1
,.1,")
更多信息:我想避免的原因
table[is.na(table)] = 0
虽然我的数据上的 fread 真的很快,但这个操作却很慢! (不知道为什么。)我的数据集是 336 行 x 3939 列。 (G. Grothendieck 的自定义类答案很快,感谢您的想法!)
【问题讨论】:
标签: r csv data.table