本文介绍了在fread中使用colClasses的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我不知道如何使用 colClasses
选项在 fread
中选择特定的列。我尝试使用 NULL
在几种方式,但没有什么工作。这里是一个最小的例子。我只需要列1和3。
I don't know how to choose specific columns using the colClasses
option in fread
. I tried to use NULL
in several ways but nothing worked. Here's a minimal example. I just want columns 1 and 3.
dt <- data.table(a=1:5,b=6:10,c=10:14)
write.csv(dt,"dt.csv",row.names=F)
dt <- fread("dt.csv",colClasses=?)
packageVersion("data.table")
[1] ‘1.8.10’
getRversion()
[1] ‘3.0.1’
导入的数据集应如下所示:
The imported dataset should look like this:
a c
1: 1 10
2: 2 11
3: 3 12
4: 4 13
5: 5 14
推荐答案
:现在在上的v1.8.11中实现了commit 966.从:
UPDATE: This is now implemented in v1.8.11 on R-Forge as of commit 966. From NEWS :
?fread
是:
data = "A,B,C,D\n1,3,5,7\n2,4,6,8\n"
# colClasses
fread(data, colClasses=c(B="character",C="character",D="character"))
fread(data, colClasses=list(character=c("B","C","D"))) # saves typing
fread(data, colClasses=list(character=2:4)) # same using column numbers
# drop
fread(data, colClasses=c("B"="NULL","C"="NULL")) # as read.csv
fread(data, colClasses=list(NULL=c("B","C"))) # same
fread(data, drop=c("B","C")) # same but less typing, easier to read
fread(data, drop=2:3) # same using column numbers
# select
# (in read.csv you need to work out which to drop)
fread(data, select=c("A","D")) # less typing, easier to read
fread(data, select=c(1,4)) # same using column numbers
这篇关于在fread中使用colClasses的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!