r - 在恐惧中使用colClasses

标签 r data.table fread

我不知道如何使用colClasses中的fread选项选择特定的列。我尝试以多种方式使用NULL,但没有任何效果。这是一个最小的例子。我只想要第1列和第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’

导入的数据集应如下所示:
   a  c
1: 1 10
2: 2 11
3: 3 12
4: 4 13
5: 5 14

最佳答案

更新:从966版提交开始,此版本已在R-Forge的v1.8.11中实现。来自NEWS:

fread's drop, select and NULL in colClasses are implemented. To drop or select columns by name or by number. See examples in ?fread.


?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

关于r - 在恐惧中使用colClasses,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18699816/

相关文章:

r - 如何根据 r 中的有序向量替换列中的所有值

c - 处理进程间大文件的 mmap 和 fread

r - 在 R 中替换单个反斜杠

python(或numpy)相当于R中的匹配

r - 无法将 tidyr 从 0.3.1 更新到 0.6.0

r - 如何使用向量作为列引用粘贴到 data.table 中?

r - data.table:当并非所有变量都在组内时,如何使用 %in% 过滤行?

R - data.table 滚动连接困惑

c - 读取、加密和写入字节 block

c - fread 导致堆溢出