首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

data.table以非交互方式传入一个`by`表达式

data.table是一个在R语言中用于数据处理和分析的包。它提供了高效的数据操作和计算功能,特别适用于大型数据集和高性能计算环境。

在data.table中,by表达式用于按照指定的列或表达式对数据进行分组。通过by表达式,可以将数据按照指定的列进行分组,并对每个分组进行相应的操作或计算。

by表达式可以是一个列名,也可以是一个表达式。当by表达式是一个列名时,data.table将根据该列的值进行分组。当by表达式是一个表达式时,data.table将根据该表达式的计算结果进行分组。

使用by表达式可以实现按照不同的分组条件对数据进行聚合、计算统计量、筛选数据等操作。例如,可以使用by表达式计算每个分组的平均值、总和、频数等。

以下是一个示例代码,演示了如何使用by表达式对data.table进行分组操作:

代码语言:txt
复制
library(data.table)

# 创建一个示例data.table
dt <- data.table(
  id = c(1, 1, 2, 2, 3),
  value = c(10, 20, 30, 40, 50)
)

# 使用by表达式对data.table进行分组,并计算每个分组的平均值
dt[, mean_value := mean(value), by = id]

# 输出结果
print(dt)

在上述示例中,我们创建了一个包含id和value两列的data.table。然后,使用by表达式按照id列对数据进行分组,并计算每个分组的平均值。最后,将计算结果存储在新的列mean_value中,并输出整个data.table。

对于data.table的更多详细信息和用法,可以参考腾讯云的相关产品和文档:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

R语言数据分析利器data.table包 —— 数据框结构处理精讲

;而data.table 会将数字转化为字符 data.table数据框也可使用dplyr包的管道,这里不作阐述。...将一个R对象转化为data.table,R可以时矢量,列表,data.frame等,keep.rownames决定是否保留行名或者列表名,默认FALSE,如果TRUE,将行名存在"rn"行中,keep.rownames...R对象转化为data.table,比as.data.table快,因为传地址的方式直接修改原对象,没有拷贝 copy(x) 深度拷贝一个data.table,x即data.table对象。...showProgress,在工作台显示进程,当用file==""时,自动忽略此参数 verbose,是否交互和报告时间 data.table数据框结构处理语法 data.table[ i , j ,...by]    i 决定显示的行,可以是整型,可以是字符,可以是表达式,j 是对数据框进行求值,决定显示的列,by对数据进行指定分组,除了by ,也可以添加其它的一系列参数: keyby,with,nomatch

5.6K20

数据流编程教程:R语言与DataFrame

其中最亮眼的是,R中的DataFrame和数据库之前可以整个数据框插入的形式插入数据而不需要再拼接SQL语句。 以下是一个官方文档的示例: 三....,我们知道,区别于dplyr包,rlist包是针对结构化数据处理而生的,也对list为核心的数据结构提供了类似DataFrame的高级查询、管道操作等等方法。...我遇到过一个非常头疼的apply函数的问题:apply内的表达式计算结果不一致。 于是改成分步计算才能得到正确答案。 如果使用purrr包就可以很好的解决这一问题。...2. ggvis ggvis是吸收了ggplot2、vega以及d3的精华,目标旨在配合shiny打造动态可 交互的可视化组件。...值得一提的是data.table引入了全新的索引形式,大大简化了data frame的分片形式,提供接近于原生矩阵的操作方式并直接利用C语言构造底层,保证操作的速度。 2.

3.8K120

R语言基因组数据分析可能会用到的data.table函数整理

""意味着直接输出到操作台; append 如果TRUE,在原文件的后面添加; quote 如果"auto",因子和列名只有在他们需要的时候才会被加上双引号,例如该部分包括分隔符,或者"...,也支持pattern函数,下面会提到,如果缺失,id变量会被赋值;如果measure.vars和id.vars都没有赋予,全部数字列会作为id.vars,剩余作为measure.vars;如果measure...patterns patterns是melt函数内部使用的函数,匹配正则表达式。...正则表达式集; cols 要匹配的字符矢量; 例子在讲melt函数的时候已有 rbindlist 类似于data.frame的rbind,不过比rbind的速度更快,并且总是返回...; fill 如果TRUE,缺失的列用NA填充,这个时候bind的对象可以不同列数,并且use.names自动设为TRUE,这个时候至少要有一个对象的一列要存在行名; idcol 产生一个

3.3K10

《高效R语言编程》6--高效数据木匠

与基本R中类似函数不同,变量无需使用 $ 操作符就可直接使用,设计与magrittr包的%>%管道操作符一起使用,允许每个数据阶段写成新的一行。其是一个大型包,本身可以看成一门语言。...unlist()函数的作用,就是将list结构的数据,变成list的数据,即将list数据变成字符串向量或者数字向量的形式。...非标准计算 代码中没有引号包裹的原始名字,这种方式叫做非标准计算(NSE),高效交互使用函数,减少键盘输入,允许Rstudio中自动完成。还是函数名多个_。...RODBC是一个资深包,提供R与SQL server的接口。DBI包提供了通用接口与驱动程序的类集,如RSQLITE,是访问数据库的统一框架,允许其他驱动程序模块包添加。...数据库与dplyr 必须使用src_*()函数创建一个数据源。# 使用data.table()处理数据 是dplyr的替代,两个哪个好存在争议,最好学一个一直坚持下去。

1.9K20

【工具】深入对比数据科学工具箱:Python和R之争

连接数据库: R 提供了许多连接数据库的选择,但 Python 只用 sqlachemy 通过ORM的方式一个包就解决了多种数据库连接的问题,且在生产环境中广泛使用。...参数传递 数据读取 基本数据结构对照 矩阵转化 矩阵计算 数据操作 参数传递 Python/R 都可以通过命令行的方式和其他语言做交互,通过命令行而不是直接调用某个类或方法可以更好地降低耦合性,在提高团队协作的效率...不过,实际情况中,我们需要传输一些结构化的数据,这时候就必须用到 JSNO 或者 YAML。...绘制聚类效果图 这里K-means为例,为了方便聚类,我们将数值型或者有确实数据的列排除在外。...我曾经用data.table和pandas分别读取过一个600万行的IOT数据,反复10次,data.table平均10s的成绩胜过了pandas平均15s的成绩,所以在IO上我倾向于选择使用data.table

1.3K40

【快讯】微软送你两个月DataCamp订阅啦!

在这一过程中,大猫发现了一个bonus——微软竟然送了两个月DataCamp订阅给所有注册MLS账号的用户!...什 么是DataCamp DataCamp虽然仍旧是个创业公司,但目前几乎已经成为在线学习R与Python数据科学的最佳途径,连data.table包的官方主页都将它作为学习data.table的最快方式...它的课程通过视频+在线交互练习的形式呈现,让学习编程真正成为一个干中学的过程。...Datacamp目前一共有104门课,R与Python为主,涉及数据处理、数据可视化、机器学习、时间序列分析、投资组合分析、社交网络分析等。...交互式的学习界面 ? 如 何获得微软送的订阅? 由于DataCamp是订阅Microsoft Machine Learning Server时赠送的,所以我们首先要注册一个微软开发者账号。

70620

新书《R语言编程—基于tidyverse》信息汇总

整个数据科学流程于一身,而且是以“现代的”、“优雅的” 方式管道式、泛函式编程技术实现。...基本使用 (常用数据操作的dplyr语法与data.table语法对照)。...第六章,文档沟通 将讨论如何进行可重复研究,用R markdown家族生成各种文档,介绍 R markdown的基本使用,R 与 Latex 交互编写期刊论文/幻灯片/书籍、R 与Git/Github交互进行版本控制...、用R Shiny 轻松制作交互网络应用程序(Web app)以及开发和发布R包的最新工作流程。...大家可以根据自己的需求选择阅读侧重点,不过我还是希望您能够按照顺序完整地阅读,这样才能让您彻底地更新一遍您的 R 知识,避免R base与tidyverse 混着用,因为二者在写 R 代码上不是一个思维

2.3K21

R︱高效数据操作——data.table包(实战心得、dplyr对比、key灵活用法、数据合并)

(ID)] 三种数据筛选的方式,dplyr包、base基础包、data.table包。其中,dplyr是select语句,data.table中要注意.()的表达方式。...%>%的功能是用于实现将一个函数的输出传递给下一个函数的第一个参数。注意这里的,传递给下一个函数的第一个参数,然后就不用写第一个参数了。在dplyr分组求和的过程中,还是挺有用的。...在data.table中有三类数据合并的方式: 1、直接用[] data_one[data_two,nomatch=NA,mult="all"] 一个数据为基准,依据key进行合并,只出现重复部分...,foo=c(4,2)) #DT为基准 setkey(DT,x) DT[X] #X数据集为基准 setkey(X,V1) X[DT] 现在有DT、X两个数据集,先设置DT数据集的key,然后DT...2016-11-28补充: 留言区大神给了一个比较好的选中列的方式,其中主要就是对with的使用: data.table取列时,可以用data[,1,with=FALSE]取data的第一列

7.7K43

深入对比数据科学工具箱:Python和R之争

连接数据库: R 提供了许多连接数据库的选择,但 Python 只用 sqlachemy 通过ORM的方式一个包就解决了多种数据库连接的问题,且在生产环境中广泛使用。...参数传递 数据读取 基本数据结构对照 矩阵转化 矩阵计算 数据操作 参数传递 Python/R都可以通过命令行的方式和其他语言做交互,通过命令行而不是直接调用某个类或方法可以更好地降低耦合性,在提高团队协作的效率...绘制聚类效果图 这里K-means为例,为了方便聚类,我们将数值型或者有确实数据的列排除在外。...下面是R中的 data.table、dplyr 与 Python 中的 pandas 的数据操作性能对比: image.png 我曾经用data.table和pandas分别读取过一个600万行的IOT...数据,反复10次,data.table平均10s的成绩胜过了pandas平均15s的成绩,所以在IO上我倾向于选择使用data.table来处理大数据,然后喂给spark和hadoop进行进一步的分布式处理

1K40

学习R语言,一篇文章让你从懵圈到入门

data.tabledata.table包的fread()函数可以快速读取大数据集 git2r:用于访问git仓库 数据整理 以下R包主要用于数据整理,以便于你后续建模分析: tidyr:用于整理表格数据的布局...data.table:用于快速处理大数据集 vtreat:一个对预测模型进行变量预处理的工具 stringi:一个快速字符串处理工具 Matrix:著名的稀疏矩阵包 统计建模与推断 下述R包是统计建模最常用的几个...rmarkdown :用于创建可重复性报告和动态文档 knitr:用于在PDF和HTML文档中嵌入R代码块 flexdashboard:基于rmarkdown,可以轻松的创建仪表盘 bookdown:R...drat:一个用于创建和使用备选R包库的工具 testthat:单元测试,让R包稳定、健壮,减少升级的痛苦。 roxygen2:通过注释的方式,生成文档,远离Latex的烦恼。...:提供了一个执行负矩阵分解的算法和框架 crayon:用于在输出终端添加颜色 RJSONIO:rjson是一个R语言与json进行转的包,是一个非常简单的包,支持用 C类库转型和R语言本身转型两种方式

3.7K40

学习R语言,一篇文章让你从懵圈到入门

data.tabledata.table包的fread()函数可以快速读取大数据集 git2r:用于访问git仓库 数据整理 以下R包主要用于数据整理,以便于你后续建模分析: tidyr:用于整理表格数据的布局...data.table:用于快速处理大数据集 vtreat:一个对预测模型进行变量预处理的工具 stringi:一个快速字符串处理工具 Matrix:著名的稀疏矩阵包 统计建模与推断 下述R包是统计建模最常用的几个...drat:一个用于创建和使用备选R包库的工具 testthat:单元测试,让R包稳定、健壮,减少升级的痛苦。 roxygen2:通过注释的方式,生成文档,远离Latex的烦恼。...htmltools:用于生成HTML格式输出 nloptr:提供了一个NLopt非线性优化库的接口 minqa:一个二次近似的优化算法包 rngtools:一个用于处理随机数生成器的实用工具 NMF:提供了一个执行负矩阵分解的算法和框架...crayon:用于在输出终端添加颜色 RJSONIO:rjson是一个R语言与json进行转的包,是一个非常简单的包,支持用 C类库转型和R语言本身转型两种方式

3.6K60

学习R语言,一篇文章让你从懵圈到入门

data.tabledata.table包的fread()函数可以快速读取大数据集 git2r:用于访问git仓库 数据整理 以下R包主要用于数据整理,以便于你后续建模分析:...data.table:用于快速处理大数据集 vtreat:一个对预测模型进行变量预处理的工具 stringi:一个快速字符串处理工具 Matrix:著名的稀疏矩阵包 统计建模与推断 下述R包是统计建模最常用的几个...rmarkdown :用于创建可重复性报告和动态文档 knitr:用于在PDF和HTML文档中嵌入R代码块 flexdashboard:基于rmarkdown,可以轻松的创建仪表盘 bookdown:R...drat:一个用于创建和使用备选R包库的工具 testthat:单元测试,让R包稳定、健壮,减少升级的痛苦。 roxygen2:通过注释的方式,生成文档,远离Latex的烦恼。...:提供了一个执行负矩阵分解的算法和框架 crayon:用于在输出终端添加颜色 RJSONIO:rjson是一个R语言与json进行转的包,是一个非常简单的包,支持用 C类库转型和R语言本身转型两种方式

4K31

好强一个Julia!CSV数据读取,性能最高多出R、Python 22倍

木易 发自 凹寺 量子位 报道 | 公众号 QbitAI 工欲善其事,必先利其器。 一项便捷且高效的语言对于数据工作者来说是至关重要的。...浮点型数据集 第一个数据集包含1000k行和20列排列的浮点值。 ? Pandas需要232毫秒来加载此文件。 首先在单线程下,data.table(fread)比CSV.jl快1.6倍。...价格的四个列是浮点值,并且有一个列是日期。 ? 单线程CSV.jl比从data.table中读取的R速度快约1.5倍。 而多线程,CSV.jl的速度提高了约22倍!...单线程data.table读取大约比CSV.jl快两倍。 但是,使用更多线程,Julia的速度与R一样快或稍快。 宽数据集 这是一个相当宽的数据集,具有1000行和20k列。...Julia对Python进行了足够的改进,可以保证在接下来的5-10年内进行转换,并以相同的方式将Python抛在后面。 ?

2K63

R语言︱数据集分组、筛选(plit – apply – combine模式、dplyr、data.table)

介绍一种按照日期范围——例如按照周、月、季度或者年——对其进行分组的超简便处理方式:R语言的cut()函数。...##对于数据框 x是对象,subset是保留元素或者行列的逻辑表达式,对于缺失值用NA代替。 Select 是选取的范围,应小于x。...data.table可是比dplyr以及python中的pandas还好用的数据处理方式。...data.table包提供了一个非常简洁的通用格式:DT[i,j,by],可以理解为:对于数据集DT,选取子集行i,通过by分组计算j。...data.table比较简洁一步搞定,dplyr花了两步,不过也dplyr也可以通过%>%来实现一步搞定。%>%的功能是用于实现将一个函数的输出传递给下一个函数的第一个参数。

20.5K32

「Geek-r」数据导入

一般规整的数据以行作为观测,列作为记录(变量、域),如一个班级同学的成绩。...下面我们直接将这个成绩记录信息文本的形式传入,结果会返回一个数据框: stu <- read.table(text = " student,chinese,math,english stu1,99,100,98...在这种常规<em>以</em>符号分隔的文件数据读取方面,我必须提及 2 个三方包:readr 和 <em>data.table</em>。它们都能以极快的速度读取大内存数据,推荐读者作为常规导入操作的解决方案。...**<em>data.table</em>**[4] 包<em>以</em> R 社区最快的数据读取和处理操作而著名,它主要是提供了<em>一个</em>增强版的数据框 <em>data.table</em>。...如果我们进一步观察几种不同<em>方式</em>导入的数据格式,就会发现它们有些不太相同。

1.2K20

Day05 生信马拉松-文件的读写

函数会出现以下错误①列名分隔符"-"被改为"."②第1列默认被添加列名"x"图片正确使用:read.csv("ex2.csv",row.names = 1,check.names = F) 表格文件读入到R中就得到一个...data.frame,在R中对data.frame的修改不会同步到表格1.4 读取工作目录下的文件read.csv("import/gene.csv") import为工作目录下的子文件夹名,不要漏了...“/”拓展内容在工作目录内创建一个文件夹dir.create("文件夹名")1.5 读取上一级文件load(.....1.6.1 数据框不允许重复的行名图片解决方案: ①先不加row.names参数读取 ②处理第1列重复值(去重、均值、合并为一行等) ③将第1列设为行名1.6.2 数据框列中数据缺失图片错误解决方式...用于文件的读取/导出的packages图片3.1 data.table:soft = data.table::fread("soft.txt",data.table = F)每次要默认标注“data.table

18720

完成任意癌症的任意基因突变与否分组后的转录组测序的差异分析

以及下载LUAD的表达量矩阵的counts文件 接着针对STK11基因把LUAD区分成为突变与否 最后根据STK11基因与否的分组信息进行差异分析,火山图和热图展示,富集分析等等 两种maf文件处理方式...生物信息学方法: MC3采用了先进的生物信息学方法和工具,包括突变调用算法、数据处理流程等,确保对基因组变异的准确和全面的分析。...其它看癌症突变全景图的方式 下面的网页链接里面的癌症的缩略词替换即可访问任意癌症的突变全景图: http://firebrowse.org/iCoMut/?...Somatic 变异: 这些变异发生在个体的生殖细胞(体细胞)中,只会影响个体的一部分细胞,而不会被传递给后代。...Nonsense 变异: 这种变异导致一个氨基酸被提前终止,导致蛋白质合成中止,通常会导致功能性蛋白质的产生。

26521
领券