ITADN
Rdatatable/data.table
Rdatatable/data.table · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

data.table

CRAN status R-CMD-check Codecov test coverage GitLab CI build status downloads CRAN usage BioC usage indirect usage Powered by NumFOCUS

data.table 提供了 base Rdata.frame 的高性能版本,并针对易用性、便利性和编程速度进行了语法和功能增强。

data.table 项目采用 自定义治理协议 ,并由 NumFOCUS 提供财政赞助。请考虑进行 可抵税捐赠,以帮助该项目 支付开发人员时间、专业服务、差旅、研讨会及其他多种需求。


为什么选择 data.table

  • 简洁的语法:输入快,阅读快
  • 速度快
  • 内存效率高
  • 谨慎的 API 生命周期管理
  • 社区
  • 功能丰富

功能

  • 快速且友好的分隔符文件读取器?fread,另请参阅 针对_小型_数据的便捷功能
  • 快速且功能丰富的分隔符文件写入器?fwrite
  • 低级别并行性:许多常见操作在内部已并行化,以利用多个 CPU 线程
  • 快速且可扩展的聚合;例如,100GB 内存(参见 基准测试,最多支持二十亿行
  • 快速且功能丰富的连接:有序连接(例如,向前滚动、向后滚动、最近匹配和有限陈旧度),重叠范围连接(类似于 IRanges::findOverlaps),非等值连接(即使用运算符 >, >=, <, <= 的连接),连接时聚合by=.EACHI),连接时更新
  • 通过分组按引用快速添加/更新/删除列,完全无需复制
  • 快速且功能丰富的数据重塑?dcastpivot/wider/spread)和 ?meltunpivot/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 被 R 社区广泛使用。它被数百个 CRAN 和 Bioconductor 包直接使用,并被数千个包间接使用。它是 GitHub 上星标数最多的 R 包之一,并获得了 Depsy 项目的高度评价。如果您需要帮助,data.table 社区在 StackOverflow上非常活跃。

支持、扩展或使用 data.table 的包列表可在 Seal of Approval 文档中找到。

保持更新

贡献

提交 issue / pull request 的指南:Contribution Guidelines