R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快。
包括两个方面,一方面是写的快,代码简洁,只要一行命令就可以完成诸多任务。
另一方面是处理快,内部处理的步骤进行了程序上的优化,使用多线程,甚至很多函数是使用C写的,大大加快数据运行速度。因此,在对大数据处理上,使用data.table无疑具有极高的效率。
结构
DT[ i, j, by ,with=TRUE] + extra arguments |
with=FALSE时,j为列名字符向量或者数字向量
用法
DT[,c("a","b","c"),with=FALSE] |
特殊符号
DT[, .N, by=x] # 分组计数 |
更新data.table
# data.table更新符号 := |
运算符
x %chin% table # base:: %in% |
其他函数
函数 | 说明 |
---|---|
fread(input, sep=“auto”,colClasses=NULL, nrows=-1L,select=NULL) | 输入 |
fwrite(x, file = “”, append = FALSE) | 输出 |
between(x, lower, upper, incbounds=TRUE) | incbounds是否包含边界 |
duplicated(x,by) | 返回重复的逻辑值 |
unique(x,by) | 返回唯一值 |
melt(data,id,measure) | id:要融合的变量矢量 measure:要测量的变量矢量 |
dcast(data,formula, fun.aggregate, fill = NULL,value.var) |
rowvar1+rowvar2+…~colvar1+colvar2+… 聚合函数 填充,value变量 |
merge(x,y, by=c(“id”,…),all=FALSE) | by,by.x,by.y:连接键 all,all.x,all.y:inner(outer)/left/right join |
评论