Rdatatable/data.table · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
data.table 
data.table 提供了 base R 的 data.frame 的高性能版本,并针对易用性、便利性和编程速度进行了语法和功能增强。
data.table 项目采用 自定义治理协议
,并由 NumFOCUS 提供财政赞助。请考虑进行
可抵税捐赠,以帮助该项目
支付开发人员时间、专业服务、差旅、研讨会及其他多种需求。
为什么选择 data.table?
- 简洁的语法:输入快,阅读快
- 速度快
- 内存效率高
- 谨慎的 API 生命周期管理
- 社区
- 功能丰富
功能
- 快速且友好的分隔符文件读取器:
?fread,另请参阅 针对_小型_数据的便捷功能 - 快速且功能丰富的分隔符文件写入器:
?fwrite - 低级别并行性:许多常见操作在内部已并行化,以利用多个 CPU 线程
- 快速且可扩展的聚合;例如,100GB 内存(参见 基准测试,最多支持二十亿行)
- 快速且功能丰富的连接:有序连接(例如,向前滚动、向后滚动、最近匹配和有限陈旧度),重叠范围连接(类似于
IRanges::findOverlaps),非等值连接(即使用运算符>, >=, <, <=的连接),连接时聚合(by=.EACHI),连接时更新 - 通过分组按引用快速添加/更新/删除列,完全无需复制
- 快速且功能丰富的数据重塑:
?dcast(pivot/wider/spread)和?melt(unpivot/longer/gather) - 任何 R 包中的任何 R 函数都可以在查询中使用,而不仅仅是数据库后端提供的函数子集,还支持类型为
list的列 - 除了 base R 本身之外,**没有任何依赖项](https://en.wikipedia.org/wiki/Dependency_hell)**,以简化生产/维护
- R 依赖项尽可能旧,尽可能长,目前为 R 3.5.0(2018 年),并且我们持续针对该版本进行测试
安装
install.packages("data.table")
# latest development version (only if newer available)
data.table::update_dev_pkg()
# latest development version (force install)
install.packages("data.table", repos="https://rdatatable.gitlab.io/data.table")
请参阅 安装 wiki 以获取更多详细信息。
用法
使用 data.table 子集 [ 运算符的方式与使用 data.frame 运算符相同,但是……
- 无需为每列添加
DT$前缀(类似于subset()和with(),但为内置功能) j参数中允许使用任何 R 表达式和任何包,而不仅仅是列列表- 额外参数
by用于按组计算j表达式
library(data.table)
DT = as.data.table(iris)
# FROM[WHERE, SELECT, GROUP BY]
# DT [i, j, by]
DT[Petal.Width > 1.0, mean(Petal.Length), by = Species]
# Species V1
#1: versicolor 4.362791
#2: virginica 5.552000
入门指南
- data.table 简介 vignette
- 入门指南 wiki 页面
- 由
example(data.table)生成的 示例
速查表
社区
data.table 被 R 社区广泛使用。它被数百个 CRAN 和 Bioconductor 包直接使用,并被数千个包间接使用。它是 GitHub 上星标数最多的 R 包之一,并获得了 Depsy 项目的高度评价。如果您需要帮助,data.table 社区在 StackOverflow上非常活跃。
支持、扩展或使用 data.table 的包列表可在 Seal of Approval 文档中找到。
保持更新
- 点击 GitHub 项目页面右上角的 Watch 按钮
- 阅读 NEWS 文件
- 关注 X/Twitter 上的 #rdatatable 和 r_data_table 账号
- 关注 fosstodon 上的 #rdatatable 和 r_data_table 账号
- 关注 LinkedIn 上的 data.table 社区页面
- 观看最近的 Presentations
- 阅读最近的 Articles
- 阅读 The Raft 上的帖子
贡献
提交 issue / pull request 的指南:Contribution Guidelines。
