<R语言数据高效处理指南>-4-Rdatatable
什么是data.table
Matt Dowle以及其他作者写的一个数据处理包,目的是追求high-performance数据处理,和dplyr相比,data.table速度更快、导入数据和处理数据的速度都更快,但写法没有那么简洁、易写易懂。
基本范式实现
library(pacman)
p_load(data.table)
创建
tidyverse具有tibble的数据结构,而data.table具有data.table的数据结构,是data.frame的增强模式,特征如下:
-
从不会自动把字符型变量变成因子型变量;
-
行标号与数据直接用冒号隔开,以示分隔;
-
当记录超过n行时,默认n=100,自动显示前5列和后5列(和python的pandas略像),可以用options来设定n值,也可以用
getOption("datatable.print.nrows")进行查询; -
data.table从来不使用行名称。
内部创建(data.table)
DT = data.table(
ID = c('b', 'b', 'b', 'a', 'a', 'c'),
a = 1:6,
b = 7:12,
c = 13:18
)
DT
# 数据结构显示,它既是一个data.table也是一个data.frame
str(DT)
强制转换(as.data.table/setDT)
将一个data.frame转换成data.table有两种函数,一种是as.data.table,另一种setDT。前者是格式转换,后者是引用转换,转换后不需要赋值原始变量直接变成data.table。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 药企SP程序员Allen
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果
