将一个R对象转化为data.table,R可以时矢量,列表,data.frame等,keep.rownames决定是否保留行名或者列表名,默认FALSE,如果TRUE,将行名存在"rn"行中,keep.rownames...比:=还快,通常和循环配合使用
至于这个操作究竟有多快,可以看一下(参照官方manual的命令),另外个人觉得最牛的三个函数是set(),fread,和fwrite
fread
fread(input...(y)] #返回y列,返回data.table
DT[, sum(y)] #对y列求和
DT[, ....(sum(y)), by=x] # 对x列进行分组后对各分组y列求总和
DT[, sum(y), keyby=x] #对x列进行分组后对各分组y列求和,并且结果按照x排序
DT[, sum(y)..., by=x][order(x)] #和上面一样,采取data.table的链接符合表达式
DT[v>1, sum(y), by=v] #对v列进行分组后,取各组中v>1的行出来,各组分别对定义的行中的